Lines Matching full:head
43 #define LL_FIRST(head) ((head)->first) argument
44 #define LL_LAST(head) ((head)->last) argument
45 #define LL_IS_EMPTY(head) (LL_FIRST(head) == NULL) argument
49 #define LL_INIT(head) do { \ argument
50 (head)->first = NULL; \
51 (head)->last = NULL; \
54 #define LL_ENQUEUE(head, src, member) do { \ argument
56 (src)->member.prev = (head)->last; \
57 if ((head)->last == NULL) { \
58 (head)->first = (src); \
60 (head)->last->member.next = (src); \
62 (head)->last = (src); \
65 #define LL_DEQUEUE(entry, head, member) do { \ argument
66 (entry) = LL_FIRST(head); \
67 LL_REMOVE(head, entry, member); \
70 #define LL_INSERT_AFTER(head, dest, src, member) do { \ argument
76 (head)->last = (src); \
81 #define LL_REMOVE(head, src, member) do { \ argument
85 (head)->first = (src)->member.next; \
90 (head)->last = (src)->member.prev; \
94 #define LL_FOREACH(entry, head, member) \ argument
95 for ((entry) = LL_FIRST(head); \