X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/61a1daa59589212608039e2734009870818bacd3..refs/heads/eme/taskfs:/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 a8117ef..50579ae 100644 --- a/lunaix-os/includes/lunaix/fs/twifs.h +++ b/lunaix-os/includes/lunaix/fs/twifs.h @@ -1,6 +1,7 @@ #ifndef __LUNAIX_TWIFS_H #define __LUNAIX_TWIFS_H +#include #include #include #include @@ -10,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; @@ -34,6 +35,12 @@ struct twifs_node (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(); @@ -52,4 +59,11 @@ twifs_rm_node(struct twifs_node* node); struct twimap* twifs_mapping(struct twifs_node* parent, void* data, const char* fmt, ...); +#define twimap_entry_simple(parent, name, data, read_cb) \ + ({ \ + struct twimap* map = twifs_mapping((parent), (data), (name)); \ + map->read = (read_cb); \ + map; \ + }) + #endif /* __LUNAIX_TWIFS_H */