Lines Matching +full:t +full:- +full:head
1 /*-
26 * $Id: _elftc.h 3446 2016-05-03 01:31:17Z emaste $
41 #define offsetof(T, M) ((int) &((T*) 0) -> M) argument
44 /* --QUEUE-MACROS-- [[ */
80 #define LIST_FOREACH_SAFE(var, head, field, tvar) \ argument
81 for ((var) = LIST_FIRST((head)); \
87 #define SLIST_FOREACH_SAFE(var, head, field, tvar) \ argument
88 for ((var) = SLIST_FIRST((head)); \
96 *(head1)->stqh_last = (head2)->stqh_first; \
97 (head1)->stqh_last = (head2)->stqh_last; \
104 #define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) argument
115 #define STAILQ_FIRST(head) ((head)->stqh_first) argument
127 #define STAILQ_HEAD_INITIALIZER(head) \ argument
128 { NULL, &(head).stqh_first }
132 #define STAILQ_FOREACH(var, head, field) \ argument
133 for ((var) = ((head)->stqh_first); \
135 (var) = ((var)->field.stqe_next))
139 #define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ argument
140 for ((var) = STAILQ_FIRST((head)); \
146 #define STAILQ_INIT(head) do { \ argument
147 (head)->stqh_first = NULL; \
148 (head)->stqh_last = &(head)->stqh_first; \
153 #define STAILQ_INSERT_HEAD(head, elm, field) do { \ argument
154 if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
155 (head)->stqh_last = &(elm)->field.stqe_next; \
156 (head)->stqh_first = (elm); \
161 #define STAILQ_INSERT_TAIL(head, elm, field) do { \ argument
162 (elm)->field.stqe_next = NULL; \
163 *(head)->stqh_last = (elm); \
164 (head)->stqh_last = &(elm)->field.stqe_next; \
169 #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
170 if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
171 (head)->stqh_last = &(elm)->field.stqe_next; \
172 (listelm)->field.stqe_next = (elm); \
177 #define STAILQ_LAST(head, type, field) \ argument
178 (STAILQ_EMPTY((head)) ? \
180 ((char *)((head)->stqh_last) - offsetof(struct type, field))))
184 #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
188 #define STAILQ_REMOVE(head, elm, type, field) do { \ argument
189 if ((head)->stqh_first == (elm)) { \
190 STAILQ_REMOVE_HEAD((head), field); \
192 struct type *curelm = (head)->stqh_first; \
193 while (curelm->field.stqe_next != (elm)) \
194 curelm = curelm->field.stqe_next; \
195 if ((curelm->field.stqe_next = \
196 curelm->field.stqe_next->field.stqe_next) == NULL) \
197 (head)->stqh_last = &(curelm)->field.stqe_next; \
203 #define STAILQ_REMOVE_HEAD(head, field) do { \ argument
204 if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == \
206 (head)->stqh_last = &(head)->stqh_first; \
215 #define STAILQ_SORT(head, type, field, cmp) do { \ argument
224 while (!STAILQ_EMPTY((head))) { \
228 for (_i = 0; _i < _sz && !STAILQ_EMPTY((head)); \
230 _e = STAILQ_FIRST((head)); \
234 STAILQ_REMOVE_HEAD((head), field); \
239 _q = STAILQ_FIRST((head)); \
244 STAILQ_REMOVE_HEAD((head), \
246 _qsz--; \
251 _psz--; \
256 _psz--; \
260 STAILQ_REMOVE_HEAD((head), \
262 _qsz--; \
267 (head)->stqh_first = _lb.stqh_first; \
268 (head)->stqh_last = _lb.stqh_last; \
275 #define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ argument
276 for ((var) = TAILQ_FIRST((head)); \
281 /* ]] --QUEUE-MACROS-- */
300 #define ELFTC_VCSID(ID) __asm__(".ident\t\"" ID "\"")
308 #define ELFTC_VCSID(ID) __asm__(".ident\t\"" ID "\"")
320 #define ELFTC_VCSID(ID) __asm__(".ident\t\"" ID "\"")
370 ** Per-OS configuration.
465 /* from src/doc/CHANGES: flex(1): Import flex-2.5.35 [christos 20091025] */