Lines Matching full:field

50 #define SLIST_NEXT(elem, field) ((elem)->field.next)
52 #define SLIST_FOREACH(var, head, field) \
53 for ((var) = SLIST_FIRST(head); (var); (var) = SLIST_NEXT(var, field))
55 #define SLIST_FOREACH_FROM(var, head, field) \
58 for (; (var); (var) = SLIST_NEXT(var, field))
60 #define SLIST_FOREACH_SAFE(var, head, field, tvar) \
62 (var) && ((tvar) = SLIST_NEXT(var, field), 1); (var) = (tvar))
64 #define SLIST_FOREACH_FROM_SAFE(var, head, field, tvar) \
67 for (; (var) && ((tvar) = SLIST_NEXT(var, field), 1); (var) = (tvar))
71 #define SLIST_CONCAT(head1, head2, type, field) \
78 while (SLIST_NEXT(cur, field) != NULL) \
79 cur = SLIST_NEXT(cur, field); \
80 SLIST_NEXT(cur, field) = SLIST_FIRST(head2); \
90 #define SLIST_INSERT_AFTER(slistelem, elem, field) \
92 SLIST_NEXT(elem, field) = SLIST_NEXT(slistelem, field); \
93 SLIST_NEXT(slistelem, field) = (elem); \
96 #define SLIST_INSERT_HEAD(head, elem, field) \
98 SLIST_NEXT(elem, field) = SLIST_FIRST(head); \
102 #define SLIST_REMOVE(head, elem, type, field) \
105 SLIST_REMOVE_HEAD(head, field); \
108 while (SLIST_NEXT(cur, field) != (elem)) \
109 cur = SLIST_NEXT(cur, field); \
110 SLIST_REMOVE_AFTER(cur, field); \
114 #define SLIST_REMOVE_AFTER(elem, field) \
116 SLIST_NEXT(elem, field) = SLIST_NEXT(SLIST_NEXT(elem, field), field); \
119 #define SLIST_REMOVE_HEAD(head, field) \
121 SLIST_FIRST(head) = SLIST_NEXT(SLIST_FIRST(head), field); \
162 #define STAILQ_LAST(head, type, field) \
165 : __containerof((head)->stqh_last, QUEUE_TYPEOF(type), field.next))
166 #define STAILQ_NEXT(elem, field) ((elem)->field.next)
168 #define STAILQ_FOREACH(var, head, field) \
169 for ((var) = STAILQ_FIRST(head); (var); (var) = STAILQ_NEXT(var, field))
171 #define STAILQ_FOREACH_FROM(var, head, field) \
174 for (; (var); (var) = STAILQ_NEXT(var, field))
176 #define STAILQ_FOREACH_SAFE(var, head, field, tvar) \
178 (var) && ((tvar) = STAILQ_NEXT(var, field), 1); (var) = (tvar))
180 #define STAILQ_FOREACH_FROM_SAFE(var, head, field, tvar) \
183 for (; (var) && ((tvar) = STAILQ_NEXT(var, field), 1); (var) = (tvar))
187 #define STAILQ_CONCAT(head1, head2, type, field) \
202 #define STAILQ_INSERT_AFTER(head, listelem, elem, field) \
204 if ((STAILQ_NEXT(elem, field) = STAILQ_NEXT(listelem, field)) == NULL) \
205 (head)->stqh_last = &STAILQ_NEXT(elem, field); \
206 STAILQ_NEXT(listelem, field) = (elem); \
209 #define STAILQ_INSERT_HEAD(head, elem, field) \
211 if ((STAILQ_NEXT(elem, field) = STAILQ_FIRST(head)) == NULL) \
212 (head)->stqh_last = &STAILQ_NEXT(elem, field); \
216 #define STAILQ_INSERT_TAIL(head, elem, field) \
218 STAILQ_NEXT(elem, field) = NULL; \
220 (head)->stqh_last = &STAILQ_NEXT(elem, field); \
223 #define STAILQ_REMOVE(head, elem, type, field) \
226 STAILQ_REMOVE_HEAD(head, field); \
229 while (STAILQ_NEXT(cur, field) != (elem)) \
230 cur = STAILQ_NEXT(cur, field); \
231 STAILQ_REMOVE_AFTER(head, cur, field); \
235 #define STAILQ_REMOVE_AFTER(head, elem, field) \
237 if ((STAILQ_NEXT(elem, field) = \
238 STAILQ_NEXT(STAILQ_NEXT(elem, field), field)) == NULL) \
239 (head)->stqh_last = &STAILQ_NEXT(elem, field); \
242 #define STAILQ_REMOVE_HEAD(head, field) \
244 if ((STAILQ_FIRST(head) = STAILQ_NEXT(STAILQ_FIRST(head), field)) == NULL) \