37 typedef struct list_node list_node_t;
38 typedef struct list list_t;
39
40 void list_create(list_t *, size_t, size_t);
41 void list_destroy(list_t *);
42
43 void list_insert_after(list_t *, void *, void *);
44 void list_insert_before(list_t *, void *, void *);
45 void list_insert_head(list_t *, void *);
46 void list_insert_tail(list_t *, void *);
47 void list_remove(list_t *, void *);
48 void *list_remove_head(list_t *);
49 void *list_remove_tail(list_t *);
50 void list_move_tail(list_t *, list_t *);
51
52 void *list_head(list_t *);
53 void *list_tail(list_t *);
54 void *list_next(list_t *, void *);
55 void *list_prev(list_t *, void *);
56 int list_is_empty(list_t *);
57
58 void list_link_init(list_node_t *);
59 void list_link_replace(list_node_t *, list_node_t *);
60
61 int list_link_active(list_node_t *);
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 #endif /* _SYS_LIST_H */
|
37 typedef struct list_node list_node_t;
38 typedef struct list list_t;
39
40 void list_create(list_t *, size_t, size_t);
41 void list_destroy(list_t *);
42
43 void list_insert_after(list_t *, void *, void *);
44 void list_insert_before(list_t *, void *, void *);
45 void list_insert_head(list_t *, void *);
46 void list_insert_tail(list_t *, void *);
47 void list_remove(list_t *, void *);
48 void *list_remove_head(list_t *);
49 void *list_remove_tail(list_t *);
50 void list_move_tail(list_t *, list_t *);
51
52 void *list_head(list_t *);
53 void *list_tail(list_t *);
54 void *list_next(list_t *, void *);
55 void *list_prev(list_t *, void *);
56 int list_is_empty(list_t *);
57 uint64_t list_size(list_t *);
58
59 void list_link_init(list_node_t *);
60 void list_link_replace(list_node_t *, list_node_t *);
61
62 int list_link_active(list_node_t *);
63
64 #ifdef __cplusplus
65 }
66 #endif
67
68 #endif /* _SYS_LIST_H */
|