X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/a4ec38a4c7ef61b04b92d34637c846a8e2e95f7f..aa2843fdbdd9b5cc579d198fd1a9ec874642706e:/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 b194066..d77619e 100644 --- a/lunaix-os/includes/lunaix/fs/twifs.h +++ b/lunaix-os/includes/lunaix/fs/twifs.h @@ -1,7 +1,9 @@ #ifndef __LUNAIX_TWIFS_H #define __LUNAIX_TWIFS_H +#include #include +#include #include struct twifs_node @@ -9,7 +11,7 @@ struct twifs_node struct hstr name; inode_t ino_id; void* data; - uint32_t itype; + u32_t itype; char name_val[VFS_NAME_MAXLEN]; struct llist_header children; struct llist_header siblings; @@ -26,17 +28,6 @@ struct twifs_node } ops; }; -struct twimap -{ - void* index; - void* buffer; - void* data; - size_t size_acc; - void (*read)(struct twimap* mapping); - int (*go_next)(struct twimap* mapping); - void (*reset)(struct twimap* mapping); -}; - #define twinode_getdata(inode, type) \ ({ \ struct twifs_node* twinode = (struct twifs_node*)(inode)->data; \ @@ -44,6 +35,12 @@ struct twimap (type) twinode->data; \ }) +#define EXPORT_TWIFS_PLUGIN(label, plg_init) \ + export_ldga_el(twiplugin_inits, label, ptr_t, plg_init) + +void +twifs_register_plugins(); + void twifs_init(); @@ -59,19 +56,7 @@ twifs_dir_node(struct twifs_node* parent, const char* fmt, ...); int twifs_rm_node(struct twifs_node* node); -#define twimap_index(twimap, type) ((type)((twimap)->index)) -#define twimap_data(twimap, type) ((type)((twimap)->data)) - struct twimap* twifs_mapping(struct twifs_node* parent, void* data, const char* fmt, ...); -void -twimap_printf(struct twimap* mapping, const char* fmt, ...); - -int -twimap_memcpy(struct twimap* mapping, const void* src, const size_t len); - -int -twimap_memappend(struct twimap* mapping, const void* src, const size_t len); - #endif /* __LUNAIX_TWIFS_H */