tizen 2.3 release
[apps/livebox/data-provider-master.git] / util_liveinfo / include / node.h
1
2 enum node_type {
3         NODE_DIR,
4         NODE_FILE,
5         NODE_LINK,
6 };
7
8 struct node;
9
10 #define NODE_READ   0x01
11 #define NODE_WRITE  0x02
12 #define NODE_EXEC   0x04
13
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);
17
18 extern struct node * const node_next_sibling(const struct node *node);
19 extern struct node * const node_prev_sibling(const struct node *node);
20
21 extern struct node * const node_child(const struct node *node);
22 extern struct node * const node_parent(const struct node *node);
23
24 extern void node_set_mode(struct node *node, int mode);
25 extern void node_set_data(struct node *node, void *data);
26
27 extern const int const node_mode(const struct node *node);
28 extern void * const node_data(const struct node *node);
29
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);
32
33 extern const char * const node_name(const struct node *node);
34
35 extern char *node_to_abspath(const struct node *node);
36
37 extern int node_age(struct node *node);
38 extern void node_set_age(struct node *node, int age);
39
40 extern void node_delete(struct node *node, void (del_cb)(struct node *node));
41 /* End of a file */