Lines Matching full:head
85 * @head: list head to add it after
87 * Insert a new entry after the specified head.
90 static inline void list_add(struct list_head *new, struct list_head *head) in list_add() argument
92 __list_add(new, head, head->next); in list_add()
98 * @head: list head to add it before
100 * Insert a new entry before the specified head.
103 static inline void list_add_tail(struct list_head *new, struct list_head *head) in list_add_tail() argument
105 __list_add(new, head->prev, head); in list_add_tail()
127 * @head: list head to add it after
129 * Insert a new entry after the specified head.
140 static inline void list_add_rcu(struct list_head *new, struct list_head *head) in list_add_rcu() argument
142 __list_add_rcu(new, head, head->next); in list_add_rcu()
148 * @head: list head to add it before
150 * Insert a new entry before the specified head.
162 struct list_head *head) in list_add_tail_rcu() argument
164 __list_add_rcu(new, head->prev, head); in list_add_tail_rcu()
234 * list_move - delete from one list and add as another's head
236 * @head: the head that will precede our entry
238 static inline void list_move(struct list_head *list, struct list_head *head) in list_move() argument
241 list_add(list, head); in list_move()
247 * @head: the head that will follow our entry
250 struct list_head *head) in list_move_tail() argument
253 list_add_tail(list, head); in list_move_tail()
258 * @head: the list to test.
260 static inline int list_empty(const struct list_head *head) in list_empty() argument
262 return head->next == head; in list_empty()
275 * @head: the list to test.
277 static inline int list_empty_careful(const struct list_head *head) in list_empty_careful() argument
279 struct list_head *next = head->next; in list_empty_careful()
280 return (next == head) && (next == head->prev); in list_empty_careful()
284 struct list_head *head) in __list_splice() argument
288 struct list_head *at = head->next; in __list_splice()
290 first->prev = head; in __list_splice()
291 head->next = first; in __list_splice()
300 * @head: the place to add it in the first list.
302 static inline void list_splice(struct list_head *list, struct list_head *head) in list_splice() argument
305 __list_splice(list, head); in list_splice()
311 * @head: the place to add it in the first list.
316 struct list_head *head) in list_splice_init() argument
319 __list_splice(list, head); in list_splice_init()
336 * @head: the head for your list.
338 #define list_for_each(pos, head) \ argument
339 for (pos = (head)->next, prefetch(pos->next); pos != (head); \
345 * @head: the head for your list.
352 #define __list_for_each(pos, head) \ argument
353 for (pos = (head)->next; pos != (head); pos = pos->next)
358 * @head: the head for your list.
360 #define list_for_each_prev(pos, head) \ argument
361 for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \
368 * @head: the head for your list.
370 #define list_for_each_safe(pos, n, head) \ argument
371 for (pos = (head)->next, n = pos->next; pos != (head); \
377 * @head: the head for your list.
380 #define list_for_each_entry(pos, head, member) \ argument
381 for (pos = list_entry((head)->next, typeof(*pos), member), \
383 &pos->member != (head); \
390 * @head: the head for your list.
393 #define list_for_each_entry_reverse(pos, head, member) \ argument
394 for (pos = list_entry((head)->prev, typeof(*pos), member), \
396 &pos->member != (head); \
404 * @head: the head of the list
407 #define list_prepare_entry(pos, head, member) \ argument
408 ((pos) ? : list_entry(head, typeof(*pos), member))
414 * @head: the head for your list.
417 #define list_for_each_entry_continue(pos, head, member) \ argument
420 &pos->member != (head); \
428 * @head: the head for your list.
431 #define list_for_each_entry_safe(pos, n, head, member) \ argument
432 for (pos = list_entry((head)->next, typeof(*pos), member), \
434 &pos->member != (head); \
440 * @head: the head for your list.
446 #define list_for_each_rcu(pos, head) \ argument
447 for (pos = (head)->next, prefetch(pos->next); pos != (head); \
450 #define __list_for_each_rcu(pos, head) \ argument
451 for (pos = (head)->next; pos != (head); \
459 * @head: the head for your list.
465 #define list_for_each_safe_rcu(pos, n, head) \ argument
466 for (pos = (head)->next, n = pos->next; pos != (head); \
472 * @head: the head for your list.
479 #define list_for_each_entry_rcu(pos, head, member) \ argument
480 for (pos = list_entry((head)->next, typeof(*pos), member), \
482 &pos->member != (head); \
492 * @head: the head for your list.
498 #define list_for_each_continue_rcu(pos, head) \ argument
499 for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \
503 * Double linked lists with a single pointer list head.
504 * Mostly useful for hash tables where the two pointer list head is
648 #define hlist_for_each(pos, head) \ argument
649 for (pos = (head)->first; pos && ({ prefetch(pos->next); 1; }); \
652 #define hlist_for_each_safe(pos, n, head) \ argument
653 for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \
660 * @head: the head for your list.
663 #define hlist_for_each_entry(tpos, pos, head, member) \ argument
664 for (pos = (head)->first; \
697 * @head: the head for your list.
700 #define hlist_for_each_entry_safe(tpos, pos, n, head, member) \ argument
701 for (pos = (head)->first; \
710 * @head: the head for your list.
717 #define hlist_for_each_entry_rcu(tpos, pos, head, member) \ argument
718 for (pos = (head)->first; \