git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: cut off some bloats in intr_ctx
[lunaix-os.git]
/
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 22028f3c8880ac0462fd6cb4e0fd9e7ba6cecc02..2ee5390b65cfe240e787fcfc53d22dbee5714797 100644
(file)
--- a/
lunaix-os/includes/lunaix/fs/twifs.h
+++ b/
lunaix-os/includes/lunaix/fs/twifs.h
@@
-2,13
+2,16
@@
#define __LUNAIX_TWIFS_H
#include <lunaix/fs.h>
#define __LUNAIX_TWIFS_H
#include <lunaix/fs.h>
+#include <lunaix/fs/twimap.h>
+#include <lunaix/spike.h>
struct twifs_node
{
struct twifs_node
{
- struct v_inode* inode;
struct hstr name;
struct hstr name;
+ inode_t ino_id;
void* data;
void* data;
- uint32_t itype;
+ u32_t itype;
+ char name_val[VFS_NAME_MAXLEN];
struct llist_header children;
struct llist_header siblings;
struct
struct llist_header children;
struct llist_header siblings;
struct
@@
-24,25
+27,29
@@
struct twifs_node
} ops;
};
} 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*
void
twifs_init();
struct twifs_node*
-twifs_file_node(struct twifs_node* parent,
- const char* name,
- int name_len,
- uint32_t itype);
+twifs_file_node_vargs(struct twifs_node* parent, const char* fmt, va_list args);
struct twifs_node*
struct twifs_node*
-twifs_dir_node(struct twifs_node* parent,
- const char* name,
- int name_len,
- uint32_t itype);
+twifs_file_node(struct twifs_node* parent, const char* fmt, ...);
struct twifs_node*
struct twifs_node*
-twifs_
toplevel_node(const char* name, int name_len, uint32_t itype
);
+twifs_
dir_node(struct twifs_node* parent, const char* fmt, ...
);
int
twifs_rm_node(struct twifs_node* node);
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 */
#endif /* __LUNAIX_TWIFS_H */