• Home
  • Raw
  • Download

Lines Matching refs:field

68 #define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)  argument
71 #define TAILQ_PREV(elm, headname, field) \ argument
72 (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
77 #define TAILQ_FOREACH(var, head, field) \ argument
80 (var) = ((var)->field.tqe_next))
82 #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ argument
85 (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
94 #define TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
95 if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
96 (head)->tqh_first->field.tqe_prev = \
97 &(elm)->field.tqe_next; \
99 (head)->tqh_last = &(elm)->field.tqe_next; \
101 (elm)->field.tqe_prev = &(head)->tqh_first; \
104 #define TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
105 (elm)->field.tqe_next = TAILQ_END(head); \
106 (elm)->field.tqe_prev = (head)->tqh_last; \
108 (head)->tqh_last = &(elm)->field.tqe_next; \
111 #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
112 if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != \
114 (elm)->field.tqe_next->field.tqe_prev = \
115 &(elm)->field.tqe_next; \
117 (head)->tqh_last = &(elm)->field.tqe_next; \
118 (listelm)->field.tqe_next = (elm); \
119 (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
122 #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ argument
123 (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
124 (elm)->field.tqe_next = (listelm); \
125 *(listelm)->field.tqe_prev = (elm); \
126 (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
129 #define TAILQ_REMOVE(head, elm, field) do { \ argument
130 if (((elm)->field.tqe_next) != TAILQ_END(head)) \
131 (elm)->field.tqe_next->field.tqe_prev = \
132 (elm)->field.tqe_prev; \
134 (head)->tqh_last = (elm)->field.tqe_prev; \
135 *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
140 #define TAILQ_REPLACE(head, elm, elm2, field) do { \ argument
141 if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != \
143 (elm2)->field.tqe_next->field.tqe_prev = \
144 &(elm2)->field.tqe_next; \
146 (head)->tqh_last = &(elm2)->field.tqe_next; \
147 (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
148 *(elm2)->field.tqe_prev = (elm2); \
153 #define TAILQ_FOREACH_SAFE(var, head, field, next) \ argument
156 ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
158 #define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev) \ argument
161 ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
165 #define TAILQ_CONCAT(head1, head2, field) do { \ argument
168 (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \