Lines Matching refs:head
118 #define CIRCLEQ_HEAD_INITIALIZER(head) \ argument
119 { (void *)&(head), (void *)&(head) }
130 #define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head)) argument
132 #define CIRCLEQ_FIRST(head) ((head)->cqh_first) argument
134 #define CIRCLEQ_FOREACH(var, head, field) \ argument
135 for ((var) = CIRCLEQ_FIRST((head)); \
136 (var) != (void *)(head) || ((var) = NULL); \
139 #define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ argument
140 for ((var) = CIRCLEQ_LAST((head)); \
141 (var) != (void *)(head) || ((var) = NULL); \
144 #define CIRCLEQ_INIT(head) do { \ argument
145 CIRCLEQ_FIRST((head)) = (void *)(head); \
146 CIRCLEQ_LAST((head)) = (void *)(head); \
149 #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
152 if (CIRCLEQ_NEXT((listelm), field) == (void *)(head)) \
153 CIRCLEQ_LAST((head)) = (elm); \
159 #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ argument
162 if (CIRCLEQ_PREV((listelm), field) == (void *)(head)) \
163 CIRCLEQ_FIRST((head)) = (elm); \
169 #define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ argument
170 CIRCLEQ_NEXT((elm), field) = CIRCLEQ_FIRST((head)); \
171 CIRCLEQ_PREV((elm), field) = (void *)(head); \
172 if (CIRCLEQ_LAST((head)) == (void *)(head)) \
173 CIRCLEQ_LAST((head)) = (elm); \
175 CIRCLEQ_PREV(CIRCLEQ_FIRST((head)), field) = (elm); \
176 CIRCLEQ_FIRST((head)) = (elm); \
179 #define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ argument
180 CIRCLEQ_NEXT((elm), field) = (void *)(head); \
181 CIRCLEQ_PREV((elm), field) = CIRCLEQ_LAST((head)); \
182 if (CIRCLEQ_FIRST((head)) == (void *)(head)) \
183 CIRCLEQ_FIRST((head)) = (elm); \
185 CIRCLEQ_NEXT(CIRCLEQ_LAST((head)), field) = (elm); \
186 CIRCLEQ_LAST((head)) = (elm); \
189 #define CIRCLEQ_LAST(head) ((head)->cqh_last) argument
195 #define CIRCLEQ_REMOVE(head, elm, field) do { \ argument
196 if (CIRCLEQ_NEXT((elm), field) == (void *)(head)) \
197 CIRCLEQ_LAST((head)) = CIRCLEQ_PREV((elm), field); \
201 if (CIRCLEQ_PREV((elm), field) == (void *)(head)) \
202 CIRCLEQ_FIRST((head)) = CIRCLEQ_NEXT((elm), field); \