Lines Matching refs:head
114 #define SLIST_HEAD_INITIALIZER(head) \ argument
125 #define SLIST_EMPTY(head) ((head)->slh_first == NULL) argument
127 #define SLIST_FIRST(head) ((head)->slh_first) argument
129 #define SLIST_FOREACH(var, head, field) \ argument
130 for ((var) = SLIST_FIRST((head)); \
134 #define SLIST_INIT(head) do { \ argument
135 SLIST_FIRST((head)) = NULL; \
143 #define SLIST_INSERT_HEAD(head, elm, field) do { \ argument
144 SLIST_NEXT((elm), field) = SLIST_FIRST((head)); \
145 SLIST_FIRST((head)) = (elm); \
150 #define SLIST_REMOVE(head, elm, type, field) do { \ argument
151 if (SLIST_FIRST((head)) == (elm)) { \
152 SLIST_REMOVE_HEAD((head), field); \
155 struct type *curelm = SLIST_FIRST((head)); \
163 #define SLIST_REMOVE_HEAD(head, field) do { \ argument
164 SLIST_FIRST((head)) = SLIST_NEXT(SLIST_FIRST((head)), field); \
176 #define STAILQ_HEAD_INITIALIZER(head) \ argument
177 { NULL, &(head).stqh_first }
195 #define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) argument
197 #define STAILQ_FIRST(head) ((head)->stqh_first) argument
199 #define STAILQ_FOREACH(var, head, field) \ argument
200 for((var) = STAILQ_FIRST((head)); \
204 #define STAILQ_INIT(head) do { \ argument
205 STAILQ_FIRST((head)) = NULL; \
206 (head)->stqh_last = &STAILQ_FIRST((head)); \
209 #define STAILQ_INSERT_AFTER(head, tqelm, elm, field) do { \ argument
211 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
215 #define STAILQ_INSERT_HEAD(head, elm, field) do { \ argument
216 if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL) \
217 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
218 STAILQ_FIRST((head)) = (elm); \
221 #define STAILQ_INSERT_TAIL(head, elm, field) do { \ argument
223 *(head)->stqh_last = (elm); \
224 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
227 #define STAILQ_LAST(head, type, field) \ argument
228 (STAILQ_EMPTY((head)) ? \
231 ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
235 #define STAILQ_REMOVE(head, elm, type, field) do { \ argument
236 if (STAILQ_FIRST((head)) == (elm)) { \
237 STAILQ_REMOVE_HEAD((head), field); \
240 struct type *curelm = STAILQ_FIRST((head)); \
245 (head)->stqh_last = &STAILQ_NEXT((curelm), field);\
249 #define STAILQ_REMOVE_HEAD(head, field) do { \ argument
250 if ((STAILQ_FIRST((head)) = \
251 STAILQ_NEXT(STAILQ_FIRST((head)), field)) == NULL) \
252 (head)->stqh_last = &STAILQ_FIRST((head)); \
255 #define STAILQ_REMOVE_HEAD_UNTIL(head, elm, field) do { \ argument
256 if ((STAILQ_FIRST((head)) = STAILQ_NEXT((elm), field)) == NULL) \
257 (head)->stqh_last = &STAILQ_FIRST((head)); \
268 #define LIST_HEAD_INITIALIZER(head) \ argument
281 #define LIST_EMPTY(head) ((head)->lh_first == NULL) argument
283 #define LIST_FIRST(head) ((head)->lh_first) argument
285 #define LIST_FOREACH(var, head, field) \ argument
286 for ((var) = LIST_FIRST((head)); \
290 #define LIST_INIT(head) do { \ argument
291 LIST_FIRST((head)) = NULL; \
309 #define LIST_INSERT_HEAD(head, elm, field) do { \ argument
310 if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL) \
311 LIST_FIRST((head))->field.le_prev = &LIST_NEXT((elm), field);\
312 LIST_FIRST((head)) = (elm); \
313 (elm)->field.le_prev = &LIST_FIRST((head)); \
334 #define TAILQ_HEAD_INITIALIZER(head) \ argument
335 { NULL, &(head).tqh_first }
355 #define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) argument
357 #define TAILQ_FIRST(head) ((head)->tqh_first) argument
359 #define TAILQ_FOREACH(var, head, field) \ argument
360 for ((var) = TAILQ_FIRST((head)); \
364 #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ argument
365 for ((var) = TAILQ_LAST((head), headname); \
369 #define TAILQ_INIT(head) do { \ argument
370 TAILQ_FIRST((head)) = NULL; \
371 (head)->tqh_last = &TAILQ_FIRST((head)); \
374 #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
379 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
391 #define TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
392 if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL) \
393 TAILQ_FIRST((head))->field.tqe_prev = \
396 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
397 TAILQ_FIRST((head)) = (elm); \
398 (elm)->field.tqe_prev = &TAILQ_FIRST((head)); \
401 #define TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
403 (elm)->field.tqe_prev = (head)->tqh_last; \
404 *(head)->tqh_last = (elm); \
405 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
408 #define TAILQ_LAST(head, headname) \ argument
409 (*(((struct headname *)((head)->tqh_last))->tqh_last))
416 #define TAILQ_REMOVE(head, elm, field) do { \ argument
421 (head)->tqh_last = (elm)->field.tqe_prev; \
444 *head = (struct quehead *)b; in insque() local
446 element->qh_link = head->qh_link; in insque()
447 element->qh_rlink = head; in insque()
448 head->qh_link = element; in insque()