Lines Matching refs:field

134 #define	CIRCLEQ_FOREACH(var, head, field)				\  argument
137 (var) = CIRCLEQ_NEXT((var), field))
139 #define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ argument
142 (var) = CIRCLEQ_PREV((var), field))
149 #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
150 CIRCLEQ_NEXT((elm), field) = CIRCLEQ_NEXT((listelm), field); \
151 CIRCLEQ_PREV((elm), field) = (listelm); \
152 if (CIRCLEQ_NEXT((listelm), field) == (void *)(head)) \
155 CIRCLEQ_PREV(CIRCLEQ_NEXT((listelm), field), field) = (elm);\
156 CIRCLEQ_NEXT((listelm), field) = (elm); \
159 #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ argument
160 CIRCLEQ_NEXT((elm), field) = (listelm); \
161 CIRCLEQ_PREV((elm), field) = CIRCLEQ_PREV((listelm), field); \
162 if (CIRCLEQ_PREV((listelm), field) == (void *)(head)) \
165 CIRCLEQ_NEXT(CIRCLEQ_PREV((listelm), field), field) = (elm);\
166 CIRCLEQ_PREV((listelm), field) = (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); \
175 CIRCLEQ_PREV(CIRCLEQ_FIRST((head)), field) = (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)); \
185 CIRCLEQ_NEXT(CIRCLEQ_LAST((head)), field) = (elm); \
191 #define CIRCLEQ_NEXT(elm,field) ((elm)->field.cqe_next) argument
193 #define CIRCLEQ_PREV(elm,field) ((elm)->field.cqe_prev) 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); \
199 CIRCLEQ_PREV(CIRCLEQ_NEXT((elm), field), field) = \
200 CIRCLEQ_PREV((elm), field); \
201 if (CIRCLEQ_PREV((elm), field) == (void *)(head)) \
202 CIRCLEQ_FIRST((head)) = CIRCLEQ_NEXT((elm), field); \
204 CIRCLEQ_NEXT(CIRCLEQ_PREV((elm), field), field) = \
205 CIRCLEQ_NEXT((elm), field); \