Lines Matching refs:elm

206 #define	QMD_SLIST_CHECK_PREVPTR(prevp, elm) do {			\  argument
207 if (*(prevp) != (elm)) \
209 (prevp), *(prevp), (elm)); \
212 #define QMD_SLIST_CHECK_PREVPTR(prevp, elm) argument
261 #define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ argument
262 SLIST_NEXT((elm), field) = SLIST_NEXT((slistelm), field); \
263 SLIST_NEXT((slistelm), field) = (elm); \
266 #define SLIST_INSERT_HEAD(head, elm, field) do { \ argument
267 SLIST_NEXT((elm), field) = SLIST_FIRST((head)); \
268 SLIST_FIRST((head)) = (elm); \
271 #define SLIST_NEXT(elm, field) ((elm)->field.sle_next) argument
273 #define SLIST_REMOVE(head, elm, type, field) do { \ argument
274 QMD_SAVELINK(oldnext, (elm)->field.sle_next); \
275 if (SLIST_FIRST((head)) == (elm)) { \
280 while (SLIST_NEXT(curelm, field) != (elm)) \
287 #define SLIST_REMOVE_AFTER(elm, field) do { \ argument
288 SLIST_NEXT(elm, field) = \
289 SLIST_NEXT(SLIST_NEXT(elm, field), field); \
296 #define SLIST_REMOVE_PREVPTR(prevp, elm, field) do { \ argument
297 QMD_SLIST_CHECK_PREVPTR(prevp, elm); \
298 *(prevp) = SLIST_NEXT(elm, field); \
299 TRASHIT((elm)->field.sle_next); \
376 #define STAILQ_INSERT_AFTER(head, tqelm, elm, field) do { \ argument
377 if ((STAILQ_NEXT((elm), field) = STAILQ_NEXT((tqelm), field)) == NULL)\
378 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
379 STAILQ_NEXT((tqelm), field) = (elm); \
382 #define STAILQ_INSERT_HEAD(head, elm, field) do { \ argument
383 if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL) \
384 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
385 STAILQ_FIRST((head)) = (elm); \
388 #define STAILQ_INSERT_TAIL(head, elm, field) do { \ argument
389 STAILQ_NEXT((elm), field) = NULL; \
390 *(head)->stqh_last = (elm); \
391 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
399 #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) argument
401 #define STAILQ_REMOVE(head, elm, type, field) do { \ argument
402 QMD_SAVELINK(oldnext, (elm)->field.stqe_next); \
403 if (STAILQ_FIRST((head)) == (elm)) { \
408 while (STAILQ_NEXT(curelm, field) != (elm)) \
415 #define STAILQ_REMOVE_AFTER(head, elm, field) do { \ argument
416 if ((STAILQ_NEXT(elm, field) = \
417 STAILQ_NEXT(STAILQ_NEXT(elm, field), field)) == NULL) \
418 (head)->stqh_last = &STAILQ_NEXT((elm), field); \
492 #define QMD_LIST_CHECK_NEXT(elm, field) do { \ argument
493 if (LIST_NEXT((elm), field) != NULL && \
494 LIST_NEXT((elm), field)->field.le_prev != \
495 &((elm)->field.le_next)) \
496 panic("Bad link elm %p next->prev != elm", (elm)); \
504 #define QMD_LIST_CHECK_PREV(elm, field) do { \ argument
505 if (*(elm)->field.le_prev != (elm)) \
506 panic("Bad link elm %p prev->next != elm", (elm)); \
510 #define QMD_LIST_CHECK_NEXT(elm, field) argument
511 #define QMD_LIST_CHECK_PREV(elm, field) argument
559 #define LIST_INSERT_AFTER(listelm, elm, field) do { \ argument
561 if ((LIST_NEXT((elm), field) = LIST_NEXT((listelm), field)) != NULL)\
563 &LIST_NEXT((elm), field); \
564 LIST_NEXT((listelm), field) = (elm); \
565 (elm)->field.le_prev = &LIST_NEXT((listelm), field); \
568 #define LIST_INSERT_BEFORE(listelm, elm, field) do { \ argument
570 (elm)->field.le_prev = (listelm)->field.le_prev; \
571 LIST_NEXT((elm), field) = (listelm); \
572 *(listelm)->field.le_prev = (elm); \
573 (listelm)->field.le_prev = &LIST_NEXT((elm), field); \
576 #define LIST_INSERT_HEAD(head, elm, field) do { \ argument
578 if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL) \
579 LIST_FIRST((head))->field.le_prev = &LIST_NEXT((elm), field);\
580 LIST_FIRST((head)) = (elm); \
581 (elm)->field.le_prev = &LIST_FIRST((head)); \
584 #define LIST_NEXT(elm, field) ((elm)->field.le_next) argument
586 #define LIST_PREV(elm, head, type, field) \ argument
587 ((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL : \
588 __containerof((elm)->field.le_prev, \
591 #define LIST_REMOVE(elm, field) do { \ argument
592 QMD_SAVELINK(oldnext, (elm)->field.le_next); \
593 QMD_SAVELINK(oldprev, (elm)->field.le_prev); \
594 QMD_LIST_CHECK_NEXT(elm, field); \
595 QMD_LIST_CHECK_PREV(elm, field); \
596 if (LIST_NEXT((elm), field) != NULL) \
597 LIST_NEXT((elm), field)->field.le_prev = \
598 (elm)->field.le_prev; \
599 *(elm)->field.le_prev = LIST_NEXT((elm), field); \
681 #define QMD_TAILQ_CHECK_NEXT(elm, field) do { \ argument
682 if (TAILQ_NEXT((elm), field) != NULL && \
683 TAILQ_NEXT((elm), field)->field.tqe_prev != \
684 &((elm)->field.tqe_next)) \
685 panic("Bad link elm %p next->prev != elm", (elm)); \
693 #define QMD_TAILQ_CHECK_PREV(elm, field) do { \ argument
694 if (*(elm)->field.tqe_prev != (elm)) \
695 panic("Bad link elm %p prev->next != elm", (elm)); \
700 #define QMD_TAILQ_CHECK_NEXT(elm, field) argument
701 #define QMD_TAILQ_CHECK_PREV(elm, field) argument
765 #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
767 if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\
768 TAILQ_NEXT((elm), field)->field.tqe_prev = \
769 &TAILQ_NEXT((elm), field); \
771 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
774 TAILQ_NEXT((listelm), field) = (elm); \
775 (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field); \
776 QMD_TRACE_ELEM(&(elm)->field); \
780 #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ argument
782 (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
783 TAILQ_NEXT((elm), field) = (listelm); \
784 *(listelm)->field.tqe_prev = (elm); \
785 (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field); \
786 QMD_TRACE_ELEM(&(elm)->field); \
790 #define TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
792 if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL) \
794 &TAILQ_NEXT((elm), field); \
796 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
797 TAILQ_FIRST((head)) = (elm); \
798 (elm)->field.tqe_prev = &TAILQ_FIRST((head)); \
800 QMD_TRACE_ELEM(&(elm)->field); \
803 #define TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
805 TAILQ_NEXT((elm), field) = NULL; \
806 (elm)->field.tqe_prev = (head)->tqh_last; \
807 *(head)->tqh_last = (elm); \
808 (head)->tqh_last = &TAILQ_NEXT((elm), field); \
810 QMD_TRACE_ELEM(&(elm)->field); \
826 #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) argument
828 #define TAILQ_PREV(elm, headname, field) \ argument
829 (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
831 #define TAILQ_PREV_FAST(elm, head, type, field) \ argument
832 ((elm)->field.tqe_prev == &(head)->tqh_first ? NULL : \
833 __containerof((elm)->field.tqe_prev, QUEUE_TYPEOF(type), field.tqe_next))
835 #define TAILQ_REMOVE(head, elm, field) do { \ argument
836 QMD_SAVELINK(oldnext, (elm)->field.tqe_next); \
837 QMD_SAVELINK(oldprev, (elm)->field.tqe_prev); \
838 QMD_TAILQ_CHECK_NEXT(elm, field); \
839 QMD_TAILQ_CHECK_PREV(elm, field); \
840 if ((TAILQ_NEXT((elm), field)) != NULL) \
841 TAILQ_NEXT((elm), field)->field.tqe_prev = \
842 (elm)->field.tqe_prev; \
844 (head)->tqh_last = (elm)->field.tqe_prev; \
847 *(elm)->field.tqe_prev = TAILQ_NEXT((elm), field); \
850 QMD_TRACE_ELEM(&(elm)->field); \