Lines Matching refs:head
14 #define CHECK_TYPE(head,ptr) (void)(&(ptr) == &(head)->list[0]) argument
15 #define PTRLIST_TYPE(head) __typeof__((head)->list[0]) argument
16 #define VRFY_PTR_LIST(head) (void)(sizeof((head)->list[0])) argument
32 void * undo_ptr_list_last(struct ptr_list **head);
33 void * delete_ptr_list_last(struct ptr_list **head);
36 bool lookup_ptr_list_entry(const struct ptr_list *head, const void *entry);
42 extern bool ptr_list_empty(const struct ptr_list *head);
43 extern bool ptr_list_multiple(const struct ptr_list *head);
60 struct ptr_list** head = (struct ptr_list**)(list); \
62 (__typeof__(&(ptr))) __add_ptr_list(head, ptr); \
65 struct ptr_list** head = (struct ptr_list**)(list); \
67 (__typeof__(&(ptr))) __add_ptr_list_tag(head, ptr, tag);\
83 struct ptr_list* head = (struct ptr_list*)(lst); \
84 (PTRLIST_TYPE(lst)) ptr_list_nth_entry(head, nth);\
88 struct ptr_list* head = (struct ptr_list*)(list); \
90 linearize_ptr_list(head, (void**)array, size); \
95 #define PREPARE_PTR_LIST(head, ptr) \ argument
96 DO_PREPARE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_UNTAG)
112 #define FOR_EACH_PTR(head, ptr) \ argument
113 DO_FOR_EACH(head, ptr, __head##ptr, __list##ptr, __nr##ptr, __name##ptr, PTR_ENTRY_NOTAG)
115 #define FOR_EACH_PTR_TAG(head, ptr) \ argument
116 DO_FOR_EACH(head, ptr, __head##ptr, __list##ptr, __nr##ptr, __name##ptr, PTR_ENTRY_UNTAG)
121 #define FOR_EACH_PTR_REVERSE(head, ptr) \ argument
122 DO_FOR_EACH_REVERSE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, __rname##ptr, PTR_ENTRY_NOTAG)
124 #define FOR_EACH_PTR_REVERSE_TAG(head, ptr) \ argument
125 DO_FOR_EACH_REVERSE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, __rname##ptr, PTR_ENTRY_UNTAG)
176 #define DO_PREPARE(head, ptr, __head, __list, __nr, PTR_ENTRY) \ argument
178 __typeof__(head) __head = (head); \
179 __typeof__(head) __list = __head; \
203 #define DO_FOR_EACH(head, ptr, __head, __list, __nr, __name, PTR_ENTRY) do { \ argument
204 __typeof__(head) __head = (head); \
205 __typeof__(head) __list = __head; \
206 __typeof__(head) __name = __head; \
222 #define DO_FOR_EACH_REVERSE(head, ptr, __head, __list, __nr, __name, PTR_ENTRY) do { \ argument
223 __typeof__(head) __head = (head); \
224 __typeof__(head) __list = __head; \
225 __typeof__(head) __name = __head; \
227 if (!head) \