Lines Matching refs:pos

389  * @pos:	the type * to cursor
392 #define list_next_entry(pos, member) \
393 list_entry((pos)->member.next, typeof(*(pos)), member)
397 * @pos: the type * to cursor
400 #define list_prev_entry(pos, member) \
401 list_entry((pos)->member.prev, typeof(*(pos)), member)
405 * @pos: the &struct list_head to use as a loop cursor.
408 #define list_for_each(pos, head) \
409 for (pos = (head)->next; pos != (head); pos = pos->next)
413 * @pos: the &struct list_head to use as a loop cursor.
416 #define list_for_each_prev(pos, head) \
417 for (pos = (head)->prev; pos != (head); pos = pos->prev)
421 * @pos: the &struct list_head to use as a loop cursor.
425 #define list_for_each_safe(pos, n, head) \
426 for (pos = (head)->next, n = pos->next; pos != (head); \
427 pos = n, n = pos->next)
431 * @pos: the &struct list_head to use as a loop cursor.
435 #define list_for_each_prev_safe(pos, n, head) \
436 for (pos = (head)->prev, n = pos->prev; \
437 pos != (head); \
438 pos = n, n = pos->prev)
442 * @pos: the type * to use as a loop cursor.
446 #define list_for_each_entry(pos, head, member) \
447 for (pos = list_first_entry(head, typeof(*pos), member); \
448 &pos->member != (head); \
449 pos = list_next_entry(pos, member))
453 * @pos: the type * to use as a loop cursor.
457 #define list_for_each_entry_reverse(pos, head, member) \
458 for (pos = list_last_entry(head, typeof(*pos), member); \
459 &pos->member != (head); \
460 pos = list_prev_entry(pos, member))
463 * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue()
464 * @pos: the type * to use as a start point
468 * Prepares a pos entry for use as a start point in list_for_each_entry_continue().
470 #define list_prepare_entry(pos, head, member) \
471 ((pos) ? : list_entry(head, typeof(*pos), member))
475 * @pos: the type * to use as a loop cursor.
482 #define list_for_each_entry_continue(pos, head, member) \
483 for (pos = list_next_entry(pos, member); \
484 &pos->member != (head); \
485 pos = list_next_entry(pos, member))
489 * @pos: the type * to use as a loop cursor.
496 #define list_for_each_entry_continue_reverse(pos, head, member) \
497 for (pos = list_prev_entry(pos, member); \
498 &pos->member != (head); \
499 pos = list_prev_entry(pos, member))
503 * @pos: the type * to use as a loop cursor.
509 #define list_for_each_entry_from(pos, head, member) \
510 for (; &pos->member != (head); \
511 pos = list_next_entry(pos, member))
515 * @pos: the type * to use as a loop cursor.
520 #define list_for_each_entry_safe(pos, n, head, member) \
521 for (pos = list_first_entry(head, typeof(*pos), member), \
522 n = list_next_entry(pos, member); \
523 &pos->member != (head); \
524 pos = n, n = list_next_entry(n, member))
528 * @pos: the type * to use as a loop cursor.
536 #define list_for_each_entry_safe_continue(pos, n, head, member) \
537 for (pos = list_next_entry(pos, member), \
538 n = list_next_entry(pos, member); \
539 &pos->member != (head); \
540 pos = n, n = list_next_entry(n, member))
544 * @pos: the type * to use as a loop cursor.
552 #define list_for_each_entry_safe_from(pos, n, head, member) \
553 for (n = list_next_entry(pos, member); \
554 &pos->member != (head); \
555 pos = n, n = list_next_entry(n, member))
559 * @pos: the type * to use as a loop cursor.
567 #define list_for_each_entry_safe_reverse(pos, n, head, member) \
568 for (pos = list_last_entry(head, typeof(*pos), member), \
569 n = list_prev_entry(pos, member); \
570 &pos->member != (head); \
571 pos = n, n = list_prev_entry(n, member))
575 * @pos: the loop cursor used in the list_for_each_entry_safe loop
581 * exception to this is if the cursor element (pos) is pinned in the list,
585 #define list_safe_reset_next(pos, n, member) \
586 n = list_next_entry(pos, member)
690 #define hlist_for_each(pos, head) \
691 for (pos = (head)->first; pos ; pos = pos->next)
693 #define hlist_for_each_safe(pos, n, head) \
694 for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \
695 pos = n)
704 * @pos: the type * to use as a loop cursor.
708 #define hlist_for_each_entry(pos, head, member) \
709 for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
710 pos; \
711 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
715 * @pos: the type * to use as a loop cursor.
718 #define hlist_for_each_entry_continue(pos, member) \
719 for (pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member);\
720 pos; \
721 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
725 * @pos: the type * to use as a loop cursor.
728 #define hlist_for_each_entry_from(pos, member) \
729 for (; pos; \
730 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
734 * @pos: the type * to use as a loop cursor.
739 #define hlist_for_each_entry_safe(pos, n, head, member) \
740 for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
741 pos && ({ n = pos->member.next; 1; }); \
742 pos = hlist_entry_safe(n, typeof(*pos), member))