Lines Matching refs:next
5 #define DLLIST_PREPEND_FULL(list, item, prev, next) STMT_START { \
7 (item)->next = *(list); \
13 DLLIST_PREPEND_FULL(list, item, prev, next)
15 #define DLLIST_REMOVE_FULL(list, item, prev, next) STMT_START { \
17 (item)->prev->next = (item)->next; \
19 *(list) = (item)->next; \
20 if ((item)->next != NULL) { \
21 (item)->next->prev = (item)->prev; \
22 (item)->next = NULL; \
28 DLLIST_REMOVE_FULL(list, item, prev, next)
31 #define DLLIST2_PREPEND_FULL(head, tail, item, prev, next) STMT_START { \
33 (item)->next = *(head); \
39 DLLIST2_PREPEND_FULL(head, tail, item, prev, next)
41 #define DLLIST2_APPEND_FULL(head, tail, item, prev, next) STMT_START { \
43 (item)->next = NULL; \
44 if (*(tail) != NULL) (*(tail))->next = (item); else (*head) = (item); \
49 DLLIST2_APPEND_FULL(head, tail, item, prev, next)
51 #define DLLIST2_INSERT_AFTER_FULL(head, tail, after, item, prev, next) \
54 (item)->next = (after)->next; \
55 if ((after)->next != NULL) \
56 (after)->next->prev = (item); \
57 (after)->next = (item); \
63 DLLIST2_INSERT_AFTER_FULL(head, tail, after, item, prev, next)
65 #define DLLIST2_REMOVE_FULL(head, tail, item, prev, next) STMT_START { \
67 (item)->prev->next = (item)->next; \
69 *(head) = (item)->next; \
70 if ((item)->next != NULL) { \
71 (item)->next->prev = (item)->prev; \
72 (item)->next = NULL; \
79 DLLIST2_REMOVE_FULL(head, tail, item, prev, next)