Lines Matching full:head
94 * @head: list head to add it after
96 * Insert a new entry after the specified head.
99 static inline void list_add(struct list_head *new, struct list_head *head) in list_add() argument
101 __list_add(new, head, head->next); in list_add()
107 * @head: list head to add it before
109 * Insert a new entry before the specified head.
112 static inline void list_add_tail(struct list_head *new, struct list_head *head) in list_add_tail() argument
114 __list_add(new, head->prev, head); in list_add_tail()
154 * list_move - delete from one list and add as another's head
156 * @head: the head that will precede our entry
158 static inline void list_move(struct list_head *list, struct list_head *head) in list_move() argument
161 list_add(list, head); in list_move()
167 * @head: the head that will follow our entry
170 struct list_head *head) in list_move_tail() argument
173 list_add_tail(list, head); in list_move_tail()
178 * @head: the list to test.
180 static inline int list_empty(const struct list_head *head) in list_empty() argument
182 return head->next == head; in list_empty()
195 * @head: the list to test.
197 static inline int list_empty_careful(const struct list_head *head) in list_empty_careful() argument
199 struct list_head *next = head->next; in list_empty_careful()
200 return (next == head) && (next == head->prev); in list_empty_careful()
204 struct list_head *head) in __list_splice() argument
208 struct list_head *at = head->next; in __list_splice()
210 first->prev = head; in __list_splice()
211 head->next = first; in __list_splice()
220 * @head: the place to add it in the first list.
222 static inline void list_splice(struct list_head *list, struct list_head *head) in list_splice() argument
225 __list_splice(list, head); in list_splice()
231 * @head: the place to add it in the first list.
236 struct list_head *head) in list_splice_init() argument
239 __list_splice(list, head); in list_splice_init()
269 * @head: the head for your list.
271 #define list_for_each(pos, head) \ argument
272 for (pos = (head)->next; pos != (head); \
278 * @head: the head for your list.
280 #define list_for_each_prev(pos, head) \ argument
281 for (pos = (head)->prev; pos != (head); \
288 * @head: the head for your list.
290 #define list_for_each_safe(pos, n, head) \ argument
291 for (pos = (head)->next, n = pos->next; pos != (head); \
297 * @head: the head for your list.
300 #define list_for_each_entry(pos, head, member) \ argument
301 for (pos = list_entry((head)->next, typeof(*pos), member); \
302 &pos->member != (head); \
308 * @head: the head for your list.
311 #define list_for_each_entry_reverse(pos, head, member) \ argument
312 for (pos = list_entry((head)->prev, typeof(*pos), member); \
313 &pos->member != (head); \
320 * @head: the head of the list
323 #define list_prepare_entry(pos, head, member) \ argument
324 ((pos) ? : list_entry(head, typeof(*pos), member))
330 * @head: the head for your list.
333 #define list_for_each_entry_continue(pos, head, member) \ argument
335 &pos->member != (head); \
342 * @head: the head for your list.
345 #define list_for_each_entry_safe(pos, n, head, member) \ argument
346 for (pos = list_entry((head)->next, typeof(*pos), member), \
348 &pos->member != (head); \
356 * @head: the head for your list.
359 #define list_for_each_entry_safe_continue(pos, n, head, member) \ argument
362 &pos->member != (head); \
370 * @head: the head for your list.
373 #define list_for_each_entry_safe_reverse(pos, n, head, member) \ argument
374 for (pos = list_entry((head)->prev, typeof(*pos), member), \
376 &pos->member != (head); \