X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6fefc6f5af83f316e18b0cb9dbbde1cea0b98add..96e23fa3c6eabf8a6efebac24b740c5d4a2a1050:/lunaix-os/includes/lunaix/fs/twifs.h diff --git a/lunaix-os/includes/lunaix/fs/twifs.h b/lunaix-os/includes/lunaix/fs/twifs.h index b83b1a4..f4614d8 100644 --- a/lunaix-os/includes/lunaix/fs/twifs.h +++ b/lunaix-os/includes/lunaix/fs/twifs.h @@ -5,25 +5,44 @@ struct twifs_node { - struct v_inode* inode; struct hstr name; + inode_t ino_id; void* data; uint32_t itype; struct llist_header children; struct llist_header siblings; - struct v_file_ops fops; + struct + { + int (*write)(struct v_inode* inode, + void* buffer, + size_t len, + size_t fpos); + int (*read)(struct v_inode* inode, + void* buffer, + size_t len, + size_t fpos); + } ops; }; void twifs_init(); struct twifs_node* -twifs_file_node(struct twifs_node* parent, const char* name, int name_len); +twifs_file_node(struct twifs_node* parent, + const char* name, + int name_len, + uint32_t itype); struct twifs_node* -twifs_dir_node(struct twifs_node* parent, const char* name, int name_len); +twifs_dir_node(struct twifs_node* parent, + const char* name, + int name_len, + uint32_t itype); struct twifs_node* -twifs_toplevel_node(const char* name, int name_len); +twifs_toplevel_node(const char* name, int name_len, uint32_t itype); + +int +twifs_rm_node(struct twifs_node* node); #endif /* __LUNAIX_TWIFS_H */