Lines Matching refs:member

178 #define list_container_of(ptr, sample, member)				\  argument
180 - ((char *)&(sample)->member - (char *)(sample)))
182 #define list_first_entry(ptr, type, member) \ argument
183 LIST_ENTRY(type, (ptr)->next, member)
185 #define list_last_entry(ptr, type, member) \ argument
186 LIST_ENTRY(type, (ptr)->prev, member)
189 #define LIST_FOR_EACH_ENTRY(pos, head, member) \ argument
190 for (pos = NULL, pos = list_container_of((head)->next, pos, member); \
191 &pos->member != (head); \
192 pos = list_container_of(pos->member.next, pos, member))
194 #define LIST_FOR_EACH_ENTRY_SAFE(pos, storage, head, member) \ argument
195 for (pos = NULL, pos = list_container_of((head)->next, pos, member), \
196 storage = list_container_of(pos->member.next, pos, member); \
197 &pos->member != (head); \
198 pos = storage, storage = list_container_of(storage->member.next, storage, member))
200 #define LIST_FOR_EACH_ENTRY_SAFE_REV(pos, storage, head, member) \ argument
201 for (pos = NULL, pos = list_container_of((head)->prev, pos, member), \
202 storage = list_container_of(pos->member.prev, pos, member); \
203 &pos->member != (head); \
204 pos = storage, storage = list_container_of(storage->member.prev, storage, member))
206 #define LIST_FOR_EACH_ENTRY_FROM(pos, start, head, member) \ argument
207 for (pos = NULL, pos = list_container_of((start), pos, member); \
208 &pos->member != (head); \
209 pos = list_container_of(pos->member.next, pos, member))
211 #define LIST_FOR_EACH_ENTRY_FROM_REV(pos, start, head, member) \ argument
212 for (pos = NULL, pos = list_container_of((start), pos, member); \
213 &pos->member != (head); \
214 pos = list_container_of(pos->member.prev, pos, member))
216 #define list_for_each_entry(type, pos, head, member) \ argument
217 for (type *pos = LIST_ENTRY(type, (head)->next, member), \
218 *__next = LIST_ENTRY(type, pos->member.next, member); \
219 &pos->member != (head); \
220 pos = LIST_ENTRY(type, pos->member.next, member), \
222 __next = LIST_ENTRY(type, __next->member.next, member))
224 #define list_for_each_entry_safe(type, pos, head, member) \ argument
225 for (type *pos = LIST_ENTRY(type, (head)->next, member), \
226 *__next = LIST_ENTRY(type, pos->member.next, member); \
227 &pos->member != (head); \
229 __next = LIST_ENTRY(type, __next->member.next, member))
231 #define list_for_each_entry_rev(type, pos, head, member) \ argument
232 for (type *pos = LIST_ENTRY(type, (head)->prev, member), \
233 *__prev = LIST_ENTRY(type, pos->member.prev, member); \
234 &pos->member != (head); \
235 pos = LIST_ENTRY(type, pos->member.prev, member), \
237 __prev = LIST_ENTRY(type, __prev->member.prev, member))
239 #define list_for_each_entry_safe_rev(type, pos, head, member) \ argument
240 for (type *pos = LIST_ENTRY(type, (head)->prev, member), \
241 *__prev = LIST_ENTRY(type, pos->member.prev, member); \
242 &pos->member != (head); \
244 __prev = LIST_ENTRY(type, __prev->member.prev, member))
246 #define list_for_each_entry_from(type, pos, start, head, member) \ argument
247 for (type *pos = LIST_ENTRY(type, (start), member); \
248 &pos->member != (head); \
249 pos = LIST_ENTRY(type, pos->member.next, member))
251 #define list_for_each_entry_from_safe(type, pos, start, head, member) \ argument
252 for (type *pos = LIST_ENTRY(type, (start), member), \
253 *__next = LIST_ENTRY(type, pos->member.next, member); \
254 &pos->member != (head); \
256 __next = LIST_ENTRY(type, __next->member.next, member))
258 #define list_for_each_entry_from_rev(type, pos, start, head, member) \ argument
259 for (type *pos = LIST_ENTRY(type, (start), member); \
260 &pos->member != (head); \
261 pos = LIST_ENTRY(type, pos->member.prev, member))
263 #define list_pair_for_each_entry(type, pos1, pos2, head1, head2, member) \ argument
264 for (type *pos1 = LIST_ENTRY(type, (head1)->next, member), \
265 *pos2 = LIST_ENTRY(type, (head2)->next, member); \
266 &pos1->member != (head1) && &pos2->member != (head2); \
267 pos1 = LIST_ENTRY(type, pos1->member.next, member), \
268 pos2 = LIST_ENTRY(type, pos2->member.next, member))