version 1.1.1.2, 2012/10/09 09:22:28
|
version 1.1.1.4, 2016/11/02 10:09:11
|
Line 68 extern void list_free (struct list *);
|
Line 68 extern void list_free (struct list *);
|
extern void listnode_add (struct list *, void *); |
extern void listnode_add (struct list *, void *); |
extern void listnode_add_sort (struct list *, void *); |
extern void listnode_add_sort (struct list *, void *); |
extern void listnode_add_after (struct list *, struct listnode *, void *); |
extern void listnode_add_after (struct list *, struct listnode *, void *); |
|
extern void listnode_move_to_tail (struct list *, struct listnode *); |
extern void listnode_delete (struct list *, void *); |
extern void listnode_delete (struct list *, void *); |
extern struct listnode *listnode_lookup (struct list *, void *); |
extern struct listnode *listnode_lookup (struct list *, void *); |
extern void *listnode_head (struct list *); |
extern void *listnode_head (struct list *); |
Line 90 extern void list_add_list (struct list *, struct list
|
Line 91 extern void list_add_list (struct list *, struct list
|
#define ALL_LIST_ELEMENTS(list,node,nextnode,data) \ |
#define ALL_LIST_ELEMENTS(list,node,nextnode,data) \ |
(node) = listhead(list), ((data) = NULL); \ |
(node) = listhead(list), ((data) = NULL); \ |
(node) != NULL && \ |
(node) != NULL && \ |
((data) = listgetdata(node),(nextnode) = listnextnode(node), 1); \ | ((data) = listgetdata(node),(nextnode) = node->next, 1); \ |
(node) = (nextnode), ((data) = NULL) |
(node) = (nextnode), ((data) = NULL) |
|
|
/* read-only list iteration macro. |
/* read-only list iteration macro. |
Line 112 extern void list_add_list (struct list *, struct list
|
Line 113 extern void list_add_list (struct list *, struct list
|
#define LISTNODE_ATTACH(L,N) \ |
#define LISTNODE_ATTACH(L,N) \ |
do { \ |
do { \ |
(N)->prev = (L)->tail; \ |
(N)->prev = (L)->tail; \ |
|
(N)->next = NULL; \ |
if ((L)->head == NULL) \ |
if ((L)->head == NULL) \ |
(L)->head = (N); \ |
(L)->head = (N); \ |
else \ |
else \ |