Lines Matching refs:elm
199 #define SLIST_NEXT(elm, field) ((elm)->field.sle_next) argument
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; \
220 (head)->slh_first = (elm); \
227 #define SLIST_REMOVE(head, elm, type, field) do { \ argument
228 if ((head)->slh_first == (elm)) { \
233 while( curelm->field.sle_next != (elm) ) \
263 #define LIST_NEXT(elm, field) ((elm)->field.le_next) argument
277 #define LIST_INSERT_AFTER(listelm, elm, field) do { \ argument
278 if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
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;\
295 (head)->lh_first = (elm); \
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) \
310 (elm2)->field.le_prev = (elm)->field.le_prev; \
337 #define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) argument
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; \
355 (head)->sqh_first = (elm); \
358 #define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ argument
359 (elm)->field.sqe_next = NULL; \
360 *(head)->sqh_last = (elm); \
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))
425 #define TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
426 if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
428 &(elm)->field.tqe_next; \
430 (head)->tqh_last = &(elm)->field.tqe_next; \
431 (head)->tqh_first = (elm); \
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; \
438 *(head)->tqh_last = (elm); \
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) \
474 (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
502 #define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) argument
503 #define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) argument
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); \
529 (head)->cqh_last = (elm); \
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; \
539 (head)->cqh_first = (elm); \
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); \
549 (head)->cqh_last = (elm); \
551 (head)->cqh_first->field.cqe_prev = (elm); \
552 (head)->cqh_first = (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; \
559 (head)->cqh_first = (elm); \
561 (head)->cqh_last->field.cqe_next = (elm); \
562 (head)->cqh_last = (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) == \
584 if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \