X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/bb7ce16533fb6c1384775dea6e1150e74c229daf..c6de44b989e9d7286337e4cbf4d82d919f9120e6:/lunaix-os/includes/lunaix/fs/twifs.h?ds=sidebyside diff --git a/lunaix-os/includes/lunaix/fs/twifs.h b/lunaix-os/includes/lunaix/fs/twifs.h index 5634112..a8117ef 100644 --- a/lunaix-os/includes/lunaix/fs/twifs.h +++ b/lunaix-os/includes/lunaix/fs/twifs.h @@ -2,6 +2,8 @@ #define __LUNAIX_TWIFS_H #include +#include +#include struct twifs_node { @@ -25,9 +27,19 @@ struct twifs_node } ops; }; +#define twinode_getdata(inode, type) \ + ({ \ + struct twifs_node* twinode = (struct twifs_node*)(inode)->data; \ + assert(twinode); \ + (type) twinode->data; \ + }) + void twifs_init(); +struct twifs_node* +twifs_file_node_vargs(struct twifs_node* parent, const char* fmt, va_list args); + struct twifs_node* twifs_file_node(struct twifs_node* parent, const char* fmt, ...); @@ -37,4 +49,7 @@ twifs_dir_node(struct twifs_node* parent, const char* fmt, ...); int twifs_rm_node(struct twifs_node* node); +struct twimap* +twifs_mapping(struct twifs_node* parent, void* data, const char* fmt, ...); + #endif /* __LUNAIX_TWIFS_H */