Lines Matching refs:head
94 static inline void list_add(struct list_head *new, struct list_head *head) in list_add() argument
96 __list_add(new, head, head->next); in list_add()
99 extern void list_add(struct list_head *new, struct list_head *head);
111 static inline void list_add_tail(struct list_head *new, struct list_head *head) in list_add_tail() argument
113 __list_add(new, head->prev, head); in list_add_tail()
182 static inline void list_move(struct list_head *list, struct list_head *head) in list_move() argument
185 list_add(list, head); in list_move()
194 struct list_head *head) in list_move_tail() argument
197 list_add_tail(list, head); in list_move_tail()
206 const struct list_head *head) in list_is_last() argument
208 return list->next == head; in list_is_last()
215 static inline int list_empty(const struct list_head *head) in list_empty() argument
217 return head->next == head; in list_empty()
233 static inline int list_empty_careful(const struct list_head *head) in list_empty_careful() argument
235 struct list_head *next = head->next; in list_empty_careful()
236 return (next == head) && (next == head->prev); in list_empty_careful()
240 struct list_head *head) in __list_splice() argument
244 struct list_head *at = head->next; in __list_splice()
246 first->prev = head; in __list_splice()
247 head->next = first; in __list_splice()
258 static inline void list_splice(struct list_head *list, struct list_head *head) in list_splice() argument
261 __list_splice(list, head); in list_splice()
272 struct list_head *head) in list_splice_init() argument
275 __list_splice(list, head); in list_splice_init()
294 #define list_for_each(pos, head) \ argument
295 for (pos = (head)->next; pos != (head); \
308 #define __list_for_each(pos, head) \ argument
309 for (pos = (head)->next; pos != (head); pos = pos->next)
316 #define list_for_each_prev(pos, head) \ argument
317 for (pos = (head)->prev; pos != (head); \
326 #define list_for_each_safe(pos, n, head) \ argument
327 for (pos = (head)->next, n = pos->next; pos != (head); \
336 #define list_for_each_entry(pos, head, member) \ argument
337 for (pos = list_entry((head)->next, typeof(*pos), member); \
338 &pos->member != (head); \
347 #define list_for_each_entry_reverse(pos, head, member) \ argument
348 for (pos = list_entry((head)->prev, typeof(*pos), member); \
349 &pos->member != (head); \
360 #define list_prepare_entry(pos, head, member) \ argument
361 ((pos) ? : list_entry(head, typeof(*pos), member))
372 #define list_for_each_entry_continue(pos, head, member) \ argument
374 &pos->member != (head); \
385 #define list_for_each_entry_from(pos, head, member) \ argument
386 for (; &pos->member != (head); \
396 #define list_for_each_entry_safe(pos, n, head, member) \ argument
397 for (pos = list_entry((head)->next, typeof(*pos), member), \
399 &pos->member != (head); \
412 #define list_for_each_entry_safe_continue(pos, n, head, member) \ argument
415 &pos->member != (head); \
428 #define list_for_each_entry_safe_from(pos, n, head, member) \ argument
430 &pos->member != (head); \
443 #define list_for_each_entry_safe_reverse(pos, n, head, member) \ argument
444 for (pos = list_entry((head)->prev, typeof(*pos), member), \
446 &pos->member != (head); \