Lines Matching refs:pos

400  * @pos:	the type * to cursor
403 #define list_next_entry(pos, member) \
404 list_entry((pos)->member.next, typeof(*(pos)), member)
408 * @pos: the type * to cursor
411 #define list_prev_entry(pos, member) \
412 list_entry((pos)->member.prev, typeof(*(pos)), member)
416 * @pos: the &struct list_head to use as a loop cursor.
419 #define list_for_each(pos, head) \
420 for (pos = (head)->next; pos != (head); pos = pos->next)
424 * @pos: the &struct list_head to use as a loop cursor.
427 #define list_for_each_prev(pos, head) \
428 for (pos = (head)->prev; pos != (head); pos = pos->prev)
432 * @pos: the &struct list_head to use as a loop cursor.
436 #define list_for_each_safe(pos, n, head) \
437 for (pos = (head)->next, n = pos->next; pos != (head); \
438 pos = n, n = pos->next)
442 * @pos: the &struct list_head to use as a loop cursor.
446 #define list_for_each_prev_safe(pos, n, head) \
447 for (pos = (head)->prev, n = pos->prev; \
448 pos != (head); \
449 pos = n, n = pos->prev)
453 * @pos: the type * to use as a loop cursor.
457 #define list_for_each_entry(pos, head, member) \
458 for (pos = list_first_entry(head, typeof(*pos), member); \
459 &pos->member != (head); \
460 pos = list_next_entry(pos, member))
464 * @pos: the type * to use as a loop cursor.
468 #define list_for_each_entry_reverse(pos, head, member) \
469 for (pos = list_last_entry(head, typeof(*pos), member); \
470 &pos->member != (head); \
471 pos = list_prev_entry(pos, member))
474 * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue()
475 * @pos: the type * to use as a start point
479 * Prepares a pos entry for use as a start point in list_for_each_entry_continue().
481 #define list_prepare_entry(pos, head, member) \
482 ((pos) ? : list_entry(head, typeof(*pos), member))
486 * @pos: the type * to use as a loop cursor.
493 #define list_for_each_entry_continue(pos, head, member) \
494 for (pos = list_next_entry(pos, member); \
495 &pos->member != (head); \
496 pos = list_next_entry(pos, member))
500 * @pos: the type * to use as a loop cursor.
507 #define list_for_each_entry_continue_reverse(pos, head, member) \
508 for (pos = list_prev_entry(pos, member); \
509 &pos->member != (head); \
510 pos = list_prev_entry(pos, member))
514 * @pos: the type * to use as a loop cursor.
520 #define list_for_each_entry_from(pos, head, member) \
521 for (; &pos->member != (head); \
522 pos = list_next_entry(pos, member))
526 * @pos: the type * to use as a loop cursor.
531 #define list_for_each_entry_safe(pos, n, head, member) \
532 for (pos = list_first_entry(head, typeof(*pos), member), \
533 n = list_next_entry(pos, member); \
534 &pos->member != (head); \
535 pos = n, n = list_next_entry(n, member))
539 * @pos: the type * to use as a loop cursor.
547 #define list_for_each_entry_safe_continue(pos, n, head, member) \
548 for (pos = list_next_entry(pos, member), \
549 n = list_next_entry(pos, member); \
550 &pos->member != (head); \
551 pos = n, n = list_next_entry(n, member))
555 * @pos: the type * to use as a loop cursor.
563 #define list_for_each_entry_safe_from(pos, n, head, member) \
564 for (n = list_next_entry(pos, member); \
565 &pos->member != (head); \
566 pos = n, n = list_next_entry(n, member))
570 * @pos: the type * to use as a loop cursor.
578 #define list_for_each_entry_safe_reverse(pos, n, head, member) \
579 for (pos = list_last_entry(head, typeof(*pos), member), \
580 n = list_prev_entry(pos, member); \
581 &pos->member != (head); \
582 pos = n, n = list_prev_entry(n, member))
586 * @pos: the loop cursor used in the list_for_each_entry_safe loop
592 * exception to this is if the cursor element (pos) is pinned in the list,
596 #define list_safe_reset_next(pos, n, member) \
597 n = list_next_entry(pos, member)
707 #define hlist_for_each(pos, head) \
708 for (pos = (head)->first; pos ; pos = pos->next)
710 #define hlist_for_each_safe(pos, n, head) \
711 for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \
712 pos = n)
721 * @pos: the type * to use as a loop cursor.
725 #define hlist_for_each_entry(pos, head, member) \
726 for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
727 pos; \
728 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
732 * @pos: the type * to use as a loop cursor.
735 #define hlist_for_each_entry_continue(pos, member) \
736 for (pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member);\
737 pos; \
738 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
742 * @pos: the type * to use as a loop cursor.
745 #define hlist_for_each_entry_from(pos, member) \
746 for (; pos; \
747 pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
751 * @pos: the type * to use as a loop cursor.
756 #define hlist_for_each_entry_safe(pos, n, head, member) \
757 for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
758 pos && ({ n = pos->member.next; 1; }); \
759 pos = hlist_entry_safe(n, typeof(*pos), member))
777 * @pos: the &struct list_head to use as a loop cursor, from where to start
780 #define list_for_each_from(pos, head) \
781 for (; pos != (head); pos = pos->next)