Lines Matching full:elm

114 #define	K5_LIST_INSERT_AFTER(listelm, elm, field) do {			\  argument
115 if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
117 &(elm)->field.le_next; \
118 (listelm)->field.le_next = (elm); \
119 (elm)->field.le_prev = &(listelm)->field.le_next; \
122 #define K5_LIST_INSERT_BEFORE(listelm, elm, field) do { \ argument
123 (elm)->field.le_prev = (listelm)->field.le_prev; \
124 (elm)->field.le_next = (listelm); \
125 *(listelm)->field.le_prev = (elm); \
126 (listelm)->field.le_prev = &(elm)->field.le_next; \
129 #define K5_LIST_INSERT_HEAD(head, elm, field) do { \ argument
130 if (((elm)->field.le_next = (head)->lh_first) != NULL) \
131 (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
132 (head)->lh_first = (elm); \
133 (elm)->field.le_prev = &(head)->lh_first; \
136 #define K5_LIST_REMOVE(elm, field) do { \ argument
137 if ((elm)->field.le_next != NULL) \
138 (elm)->field.le_next->field.le_prev = \
139 (elm)->field.le_prev; \
140 *(elm)->field.le_prev = (elm)->field.le_next; \
157 #define K5_LIST_NEXT(elm, field) ((elm)->field.le_next) argument
183 #define K5_SLIST_INSERT_AFTER(slistelm, elm, field) do { \ argument
184 (elm)->field.sle_next = (slistelm)->field.sle_next; \
185 (slistelm)->field.sle_next = (elm); \
188 #define K5_SLIST_INSERT_HEAD(head, elm, field) do { \ argument
189 (elm)->field.sle_next = (head)->slh_first; \
190 (head)->slh_first = (elm); \
197 #define K5_SLIST_REMOVE(head, elm, type, field) do { \ argument
198 if ((head)->slh_first == (elm)) { \
203 while(curelm->field.sle_next != (elm)) \
228 #define K5_SLIST_NEXT(elm, field) ((elm)->field.sle_next) argument
256 #define K5_STAILQ_INSERT_HEAD(head, elm, field) do { \ argument
257 if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
258 (head)->stqh_last = &(elm)->field.stqe_next; \
259 (head)->stqh_first = (elm); \
262 #define K5_STAILQ_INSERT_TAIL(head, elm, field) do { \ argument
263 (elm)->field.stqe_next = NULL; \
264 *(head)->stqh_last = (elm); \
265 (head)->stqh_last = &(elm)->field.stqe_next; \
268 #define K5_STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
269 if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
270 (head)->stqh_last = &(elm)->field.stqe_next; \
271 (listelm)->field.stqe_next = (elm); \
279 #define K5_STAILQ_REMOVE(head, elm, type, field) do { \ argument
280 if ((head)->stqh_first == (elm)) { \
284 while (curelm->field.stqe_next != (elm)) \
321 #define K5_STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) argument
349 #define K5_SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ argument
350 if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
351 (head)->sqh_last = &(elm)->field.sqe_next; \
352 (head)->sqh_first = (elm); \
355 #define K5_SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ argument
356 (elm)->field.sqe_next = NULL; \
357 *(head)->sqh_last = (elm); \
358 (head)->sqh_last = &(elm)->field.sqe_next; \
361 #define K5_SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
362 if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
363 (head)->sqh_last = &(elm)->field.sqe_next; \
364 (listelm)->field.sqe_next = (elm); \
372 #define K5_SIMPLEQ_REMOVE(head, elm, type, field) do { \ argument
373 if ((head)->sqh_first == (elm)) { \
377 while (curelm->field.sqe_next != (elm)) \
414 #define K5_SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) argument
445 #define K5_TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
446 if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
448 &(elm)->field.tqe_next; \
450 (head)->tqh_last = &(elm)->field.tqe_next; \
451 (head)->tqh_first = (elm); \
452 (elm)->field.tqe_prev = &(head)->tqh_first; \
455 #define K5_TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
456 (elm)->field.tqe_next = NULL; \
457 (elm)->field.tqe_prev = (head)->tqh_last; \
458 *(head)->tqh_last = (elm); \
459 (head)->tqh_last = &(elm)->field.tqe_next; \
462 #define K5_TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
463 if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
464 (elm)->field.tqe_next->field.tqe_prev = \
465 &(elm)->field.tqe_next; \
467 (head)->tqh_last = &(elm)->field.tqe_next; \
468 (listelm)->field.tqe_next = (elm); \
469 (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
472 #define K5_TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ argument
473 (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
474 (elm)->field.tqe_next = (listelm); \
475 *(listelm)->field.tqe_prev = (elm); \
476 (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
479 #define K5_TAILQ_REMOVE(head, elm, field) do { \ argument
480 if (((elm)->field.tqe_next) != NULL) \
481 (elm)->field.tqe_next->field.tqe_prev = \
482 (elm)->field.tqe_prev; \
484 (head)->tqh_last = (elm)->field.tqe_prev; \
485 *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
522 #define K5_TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) argument
526 #define K5_TAILQ_PREV(elm, headname, field) \ argument
527 (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
556 #define K5_CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
557 (elm)->field.cqe_next = (listelm)->field.cqe_next; \
558 (elm)->field.cqe_prev = (listelm); \
560 (head)->cqh_last = (elm); \
562 (listelm)->field.cqe_next->field.cqe_prev = (elm); \
563 (listelm)->field.cqe_next = (elm); \
566 #define K5_CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ argument
567 (elm)->field.cqe_next = (listelm); \
568 (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
570 (head)->cqh_first = (elm); \
572 (listelm)->field.cqe_prev->field.cqe_next = (elm); \
573 (listelm)->field.cqe_prev = (elm); \
576 #define K5_CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ argument
577 (elm)->field.cqe_next = (head)->cqh_first; \
578 (elm)->field.cqe_prev = (void *)(head); \
580 (head)->cqh_last = (elm); \
582 (head)->cqh_first->field.cqe_prev = (elm); \
583 (head)->cqh_first = (elm); \
586 #define K5_CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ argument
587 (elm)->field.cqe_next = (void *)(head); \
588 (elm)->field.cqe_prev = (head)->cqh_last; \
590 (head)->cqh_first = (elm); \
592 (head)->cqh_last->field.cqe_next = (elm); \
593 (head)->cqh_last = (elm); \
596 #define K5_CIRCLEQ_REMOVE(head, elm, field) do { \ argument
597 if ((elm)->field.cqe_next == (void *)(head)) \
598 (head)->cqh_last = (elm)->field.cqe_prev; \
600 (elm)->field.cqe_next->field.cqe_prev = \
601 (elm)->field.cqe_prev; \
602 if ((elm)->field.cqe_prev == (void *)(head)) \
603 (head)->cqh_first = (elm)->field.cqe_next; \
605 (elm)->field.cqe_prev->field.cqe_next = \
606 (elm)->field.cqe_next; \
625 #define K5_CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) argument
626 #define K5_CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) argument
628 #define K5_CIRCLEQ_LOOP_NEXT(head, elm, field) \ argument
629 (((elm)->field.cqe_next == (void *)(head)) \
631 : (elm->field.cqe_next))
632 #define K5_CIRCLEQ_LOOP_PREV(head, elm, field) \ argument
633 (((elm)->field.cqe_prev == (void *)(head)) \
635 : (elm->field.cqe_prev))