Lines Matching refs:field

199 #define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)  argument
201 #define SLIST_FOREACH(var, head, field) \ argument
204 (var) = SLIST_NEXT(var, field))
213 #define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ argument
214 (elm)->field.sle_next = (slistelm)->field.sle_next; \
215 (slistelm)->field.sle_next = (elm); \
218 #define SLIST_INSERT_HEAD(head, elm, field) do { \ argument
219 (elm)->field.sle_next = (head)->slh_first; \
223 #define SLIST_REMOVE_HEAD(head, field) do { \ argument
224 (head)->slh_first = (head)->slh_first->field.sle_next; \
227 #define SLIST_REMOVE(head, elm, type, field) do { \ argument
229 SLIST_REMOVE_HEAD((head), field); \
233 while( curelm->field.sle_next != (elm) ) \
234 curelm = curelm->field.sle_next; \
235 curelm->field.sle_next = \
236 curelm->field.sle_next->field.sle_next; \
263 #define LIST_NEXT(elm, field) ((elm)->field.le_next) argument
265 #define LIST_FOREACH(var, head, field) \ argument
268 (var) = LIST_NEXT(var, field))
277 #define LIST_INSERT_AFTER(listelm, elm, field) do { \ argument
278 if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
279 (listelm)->field.le_next->field.le_prev = \
280 &(elm)->field.le_next; \
281 (listelm)->field.le_next = (elm); \
282 (elm)->field.le_prev = &(listelm)->field.le_next; \
285 #define LIST_INSERT_BEFORE(listelm, elm, field) do { \ argument
286 (elm)->field.le_prev = (listelm)->field.le_prev; \
287 (elm)->field.le_next = (listelm); \
288 *(listelm)->field.le_prev = (elm); \
289 (listelm)->field.le_prev = &(elm)->field.le_next; \
292 #define LIST_INSERT_HEAD(head, elm, field) do { \ argument
293 if (((elm)->field.le_next = (head)->lh_first) != NULL) \
294 (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
296 (elm)->field.le_prev = &(head)->lh_first; \
299 #define LIST_REMOVE(elm, field) do { \ argument
300 if ((elm)->field.le_next != NULL) \
301 (elm)->field.le_next->field.le_prev = \
302 (elm)->field.le_prev; \
303 *(elm)->field.le_prev = (elm)->field.le_next; \
306 #define LIST_REPLACE(elm, elm2, field) do { \ argument
307 if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \
308 (elm2)->field.le_next->field.le_prev = \
309 &(elm2)->field.le_next; \
310 (elm2)->field.le_prev = (elm)->field.le_prev; \
311 *(elm2)->field.le_prev = (elm2); \
337 #define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) argument
339 #define SIMPLEQ_FOREACH(var, head, field) \ argument
342 (var) = SIMPLEQ_NEXT(var, field))
352 #define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ argument
353 if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
354 (head)->sqh_last = &(elm)->field.sqe_next; \
358 #define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ argument
359 (elm)->field.sqe_next = NULL; \
361 (head)->sqh_last = &(elm)->field.sqe_next; \
364 #define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
365 if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
366 (head)->sqh_last = &(elm)->field.sqe_next; \
367 (listelm)->field.sqe_next = (elm); \
370 #define SIMPLEQ_REMOVE_HEAD(head, elm, field) do { \ argument
371 if (((head)->sqh_first = (elm)->field.sqe_next) == NULL) \
398 #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) argument
402 #define TAILQ_PREV(elm, headname, field) \ argument
403 (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
407 #define TAILQ_FOREACH(var, head, field) \ argument
410 (var) = TAILQ_NEXT(var, field))
412 #define TAILQ_FOREACH_REVERSE(var, head, field, headname) \ argument
415 (var) = TAILQ_PREV(var, headname, field))
425 #define TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
426 if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
427 (head)->tqh_first->field.tqe_prev = \
428 &(elm)->field.tqe_next; \
430 (head)->tqh_last = &(elm)->field.tqe_next; \
432 (elm)->field.tqe_prev = &(head)->tqh_first; \
435 #define TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
436 (elm)->field.tqe_next = NULL; \
437 (elm)->field.tqe_prev = (head)->tqh_last; \
439 (head)->tqh_last = &(elm)->field.tqe_next; \
442 #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
443 if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
444 (elm)->field.tqe_next->field.tqe_prev = \
445 &(elm)->field.tqe_next; \
447 (head)->tqh_last = &(elm)->field.tqe_next; \
448 (listelm)->field.tqe_next = (elm); \
449 (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
452 #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ argument
453 (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
454 (elm)->field.tqe_next = (listelm); \
455 *(listelm)->field.tqe_prev = (elm); \
456 (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
459 #define TAILQ_REMOVE(head, elm, field) do { \ argument
460 if (((elm)->field.tqe_next) != NULL) \
461 (elm)->field.tqe_next->field.tqe_prev = \
462 (elm)->field.tqe_prev; \
464 (head)->tqh_last = (elm)->field.tqe_prev; \
465 *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
468 #define TAILQ_REPLACE(head, elm, elm2, field) do { \ argument
469 if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \
470 (elm2)->field.tqe_next->field.tqe_prev = \
471 &(elm2)->field.tqe_next; \
473 (head)->tqh_last = &(elm2)->field.tqe_next; \
474 (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
475 *(elm2)->field.tqe_prev = (elm2); \
502 #define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) argument
503 #define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) argument
507 #define CIRCLEQ_FOREACH(var, head, field) \ argument
510 (var) = CIRCLEQ_NEXT(var, field))
512 #define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ argument
515 (var) = CIRCLEQ_PREV(var, field))
525 #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
526 (elm)->field.cqe_next = (listelm)->field.cqe_next; \
527 (elm)->field.cqe_prev = (listelm); \
528 if ((listelm)->field.cqe_next == CIRCLEQ_END(head)) \
531 (listelm)->field.cqe_next->field.cqe_prev = (elm); \
532 (listelm)->field.cqe_next = (elm); \
535 #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ argument
536 (elm)->field.cqe_next = (listelm); \
537 (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
538 if ((listelm)->field.cqe_prev == CIRCLEQ_END(head)) \
541 (listelm)->field.cqe_prev->field.cqe_next = (elm); \
542 (listelm)->field.cqe_prev = (elm); \
545 #define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ argument
546 (elm)->field.cqe_next = (head)->cqh_first; \
547 (elm)->field.cqe_prev = CIRCLEQ_END(head); \
551 (head)->cqh_first->field.cqe_prev = (elm); \
555 #define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ argument
556 (elm)->field.cqe_next = CIRCLEQ_END(head); \
557 (elm)->field.cqe_prev = (head)->cqh_last; \
561 (head)->cqh_last->field.cqe_next = (elm); \
565 #define CIRCLEQ_REMOVE(head, elm, field) do { \ argument
566 if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \
567 (head)->cqh_last = (elm)->field.cqe_prev; \
569 (elm)->field.cqe_next->field.cqe_prev = \
570 (elm)->field.cqe_prev; \
571 if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \
572 (head)->cqh_first = (elm)->field.cqe_next; \
574 (elm)->field.cqe_prev->field.cqe_next = \
575 (elm)->field.cqe_next; \
578 #define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \ argument
579 if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \
583 (elm2)->field.cqe_next->field.cqe_prev = (elm2); \
584 if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \
588 (elm2)->field.cqe_prev->field.cqe_next = (elm2); \