10 #define NODE_READ 0x01
11 #define NODE_WRITE 0x02
12 #define NODE_EXEC 0x04
14 extern struct node *node_find(const struct node *node, const char *path);
15 extern struct node *node_create(struct node *parent, const char *name, enum node_type type, int mode);
16 extern void *node_destroy(struct node *node);
18 extern struct node * const node_next_sibling(const struct node *node);
19 extern struct node * const node_prev_sibling(const struct node *node);
21 extern struct node * const node_child(const struct node *node);
22 extern struct node * const node_parent(const struct node *node);
24 extern void node_set_mode(struct node *node, int mode);
25 extern void node_set_data(struct node *node, void *data);
27 extern const int const node_mode(const struct node *node);
28 extern void * const node_data(const struct node *node);
30 extern void node_set_type(struct node *node, enum node_type type);
31 extern const enum node_type const node_type(const struct node *node);
33 extern const char * const node_name(const struct node *node);
35 extern char *node_to_abspath(const struct node *node);
37 extern int node_age(struct node *node);
38 extern void node_set_age(struct node *node, int age);
40 extern void node_delete(struct node *node, void (del_cb)(struct node *node));