Lines Matching refs:member

175 #define container_of(ptr, sample, member)				\  argument
177 - ((char *)&(sample)->member - (char *)(sample)))
180 #define list_first_entry(ptr, type, member) \ argument
181 LIST_ENTRY(type, (ptr)->next, member)
183 #define list_last_entry(ptr, type, member) \ argument
184 LIST_ENTRY(type, (ptr)->prev, member)
187 #define LIST_FOR_EACH_ENTRY(pos, head, member) \ argument
188 for (pos = NULL, pos = container_of((head)->next, pos, member); \
189 &pos->member != (head); \
190 pos = container_of(pos->member.next, pos, member))
192 #define LIST_FOR_EACH_ENTRY_SAFE(pos, storage, head, member) \ argument
193 for (pos = NULL, pos = container_of((head)->next, pos, member), \
194 storage = container_of(pos->member.next, pos, member); \
195 &pos->member != (head); \
196 pos = storage, storage = container_of(storage->member.next, storage, member))
198 #define LIST_FOR_EACH_ENTRY_SAFE_REV(pos, storage, head, member) \ argument
199 for (pos = NULL, pos = container_of((head)->prev, pos, member), \
200 storage = container_of(pos->member.prev, pos, member); \
201 &pos->member != (head); \
202 pos = storage, storage = container_of(storage->member.prev, storage, member))
204 #define LIST_FOR_EACH_ENTRY_FROM(pos, start, head, member) \ argument
205 for (pos = NULL, pos = container_of((start), pos, member); \
206 &pos->member != (head); \
207 pos = container_of(pos->member.next, pos, member))
209 #define LIST_FOR_EACH_ENTRY_FROM_REV(pos, start, head, member) \ argument
210 for (pos = NULL, pos = container_of((start), pos, member); \
211 &pos->member != (head); \
212 pos = container_of(pos->member.prev, pos, member))
214 #define list_for_each_entry(type, pos, head, member) \ argument
215 for (type *pos = LIST_ENTRY(type, (head)->next, member); \
216 &pos->member != (head); \
217 pos = LIST_ENTRY(type, pos->member.next, member))
219 #define list_for_each_entry_safe(type, pos, head, member) \ argument
220 for (type *pos = LIST_ENTRY(type, (head)->next, member), \
221 *__next = LIST_ENTRY(type, pos->member.next, member); \
222 &pos->member != (head); \
224 __next = LIST_ENTRY(type, __next->member.next, member))
226 #define list_for_each_entry_rev(type, pos, head, member) \ argument
227 for (type *pos = LIST_ENTRY(type, (head)->prev, member); \
228 &pos->member != (head); \
229 pos = LIST_ENTRY(type, pos->member.prev, member))
231 #define list_for_each_entry_safe_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); \
236 __prev = LIST_ENTRY(type, __prev->member.prev, member))
238 #define list_for_each_entry_from(type, pos, start, head, member) \ argument
239 for (type *pos = LIST_ENTRY(type, (start), member); \
240 &pos->member != (head); \
241 pos = LIST_ENTRY(type, pos->member.next, member))
243 #define list_for_each_entry_from_rev(type, pos, start, head, member) \ argument
244 for (type *pos = LIST_ENTRY(type, (start), member); \
245 &pos->member != (head); \
246 pos = LIST_ENTRY(type, pos->member.prev, member))