Lines Matching refs:head

14 #define CHECK_TYPE(head,ptr)		(void)(&(ptr) == &(head)->list[0])  argument
15 #define TYPEOF(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);\
79 #define PREPARE_PTR_LIST(head, ptr) \ argument
80 DO_PREPARE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_UNTAG)
96 #define FOR_EACH_PTR(head, ptr) \ argument
97 DO_FOR_EACH(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_NOTAG)
99 #define FOR_EACH_PTR_TAG(head, ptr) \ argument
100 DO_FOR_EACH(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_UNTAG)
105 #define FOR_EACH_PTR_REVERSE(head, ptr) \ argument
106 DO_FOR_EACH_REVERSE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_NOTAG)
108 #define FOR_EACH_PTR_REVERSE_TAG(head, ptr) \ argument
109 DO_FOR_EACH_REVERSE(head, ptr, __head##ptr, __list##ptr, __nr##ptr, PTR_ENTRY_UNTAG)
160 #define DO_PREPARE(head, ptr, __head, __list, __nr, PTR_ENTRY) \ argument
162 __typeof__(head) __head = (head); \
163 __typeof__(head) __list = __head; \
187 #define DO_FOR_EACH(head, ptr, __head, __list, __nr, PTR_ENTRY) do { \ argument
188 __typeof__(head) __head = (head); \
189 __typeof__(head) __list = __head; \
204 #define DO_FOR_EACH_REVERSE(head, ptr, __head, __list, __nr, PTR_ENTRY) do { \ argument
205 __typeof__(head) __head = (head); \
206 __typeof__(head) __list = __head; \
208 if (!head) \