Lines Matching refs:head

49  * We need one list head in bar and a list element in all list_of_foos (both are of
64 * Now we initialize the list head:
106 * to-be-linked struct. struct list is required for both the head of the
111 * There are no requirements for a list head, any struct list can be a list
112 * head.
144 * Insert a new element after the given list head. The new element does not
147 * head → some element → ...
149 * head → new element → older element → ...
156 * @param head The existing list.
159 list_add(struct list *entry, struct list *head)
161 __list_add(entry, head, head->next);
165 list_add_tail(struct list *entry, struct list *head)
167 __list_add(entry, head->prev, head);
182 #define list_for_each(pos, head) \
183 for (pos = (head)->next; pos != (head); pos = pos->next)
186 * Append a new element to the end of the list given with this list head.
189 * head → some element → ... → lastelement
191 * head → some element → ... → lastelement → new element
198 * @param head The existing list.
201 list_append(struct list *entry, struct list *head)
203 __list_add(entry, head->prev, head);
228 * Using list_del on a pure list head (like in the example at the top of
244 static inline void list_move(struct list *list, struct list *head)
246 if (list->prev != head) {
248 list_add(list, head);
252 static inline void list_move_tail(struct list *list, struct list *head)
255 list_add_tail(list, head);
267 list_is_empty(const struct list *head)
269 return head->next == head;
285 * @param ptr The list head
300 * @param ptr The list head
323 * Loop through the list given by head and set pos to struct in the list.
335 * @param head List head
339 #define list_for_each_entry(pos, head, member) \
341 pos = __container_of((head)->next, pos, member); \
342 &pos->member != (head); \
345 #define list_for_each_entry_reverse(pos, head, member) \
347 pos = __container_of((head)->prev, pos, member); \
348 &pos->member != (head); \
358 #define list_for_each_entry_safe(pos, tmp, head, member) \
360 pos = __container_of((head)->next, pos, member), \
362 &pos->member != (head); \
370 list_add_tail(struct list *entry, struct list *head)
372 __list_add(entry, head->prev, head);
392 static inline void list_move(struct list *list, struct list *head)
394 if (list->prev != head) {
396 list_add(list, head);
400 static inline void list_move_tail(struct list *list, struct list *head)
403 list_add_tail(list, head);
409 #define list_for_each_entry_reverse(pos, head, member) \
410 for (pos = __container_of((head)->prev, pos, member); \
411 &pos->member != (head); \