Lines Matching refs:next
33 struct NLIBQueue *next; /**< next (or head) item */ member
40 #define NLIB_Queue_Init(queue) ((queue)->next = (queue)->prev = NULL)
45 #define NLIB_Queue_QueryHead(queue) ((queue)->next)
60 #define NLIB_Queue_QueryLinkNext(item, link) ((item)->link.next)
65 #define NLIB_Queue_IsEmpty(queue) ((queue)->next == NULL)
78 (item)->link.next = (previtem)->link.next; \
79 (previtem)->link.next = (NLIBQueue*) (item); \
80 if (NLIB_Queue_IsEnd(queue, (item)->link.next)) \
83 ((type) (item)->link.next)->link.prev = (NLIBQueue*) (item); \
92 (item)->link.next = (NLIBQueue*) (afteritem); \
95 (queue)->next = (NLIBQueue*) (item); \
97 ((type) (item)->link.prev)->link.next = (NLIBQueue*) (item); \
109 (queue)->next = (NLIBQueue*) (item); \
111 ((type) ___prev)->link.next = (NLIBQueue*) (item); \
113 (item)->link.next = NULL; \
124 ___next = (queue)->next; \
129 (item)->link.next = ___next; \
131 (queue)->next = (NLIBQueue*) item; \
142 ___next = (item)->link.next; \
151 (queue)->next = ___next; \
153 ((type) ___prev)->link.next = ___next; \
165 ___next = (item)->link.next; \
171 (queue)->next = ___next; \
186 (queue)->next = NULL; \
188 ((type) ___prev)->link.next = NULL; \
195 #define NLIB_Queue_IterateQueue(type, queue, item, next, link) \ argument
197 … (next) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkNext(item, link); \
199 (item) = (next), \
200 … (next) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkNext(item, link))