list_next_entry_circular(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

hiii bestie 🫢 welcome to the list_next_entry_circular(9) page from the Kernel API Manual. The whole point is literally to get the next element in list ✨ β€” but make it circular, because we love a wraparound moment πŸ’….


🌸 SYNOPSIS 🌸

list_next_entry_circular (pos , head , member );

πŸŽ€ ARGUMENTS πŸŽ€

  • pos β€” the type * to cursor. Yes, cursor bestie, keep up πŸ’–
  • head β€” the list head to take the element from.
  • member β€” the name of the list_head within the struct.

✨ DESCRIPTION ✨

Wraparound if pos is the last element β€” and when that happens, it returns the first element, periodt πŸ’«.

Note, that list is expected to be not empty. That's the note, bestie β€” do not skip it, okay? 🚨


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/list.h β€” plus the entire linked-list friend group:

LIST_HEAD_INIT(9), LIST_HEAD(9), LIST_HEAD_GUARDED(9), INIT_LIST_HEAD(9), list_add(9), list_add_tail(9), list_add_tail_release(9), list_del(9), list_replace(9), list_replace_init(9), list_swap(9), list_del_init(9), list_move(9), list_move_tail(9), list_bulk_move_tail(9), list_is_first(9), list_is_last(9), list_is_head(9), list_empty(9), list_del_init_careful(9), list_empty_careful(9), list_rotate_left(9), list_rotate_to_front(9), list_is_singular(9), list_cut_position(9), list_cut_before(9), list_splice(9), list_splice_tail(9), list_splice_init(9), list_splice_tail_init(9), list_entry(9), list_first_entry(9), list_last_entry(9), list_first_entry_or_null(9), list_first_entry_or_null_acquire(9), list_last_entry_or_null(9), list_next_entry(9), list_prev_entry(9), list_prev_entry_circular(9), list_for_each(9), list_for_each_continue(9), list_for_each_prev(9), list_for_each_safe(9), list_for_each_prev_safe(9), list_count_nodes(9), list_entry_is_head(9), list_for_each_entry(9), list_for_each_entry_reverse(9), list_prepare_entry(9), list_for_each_entry_continue(9), list_for_each_entry_continue_reverse(9), list_for_each_entry_from(9), list_for_each_entry_from_reverse(9), list_for_each_entry_safe(9), list_for_each_entry_safe_continue(9), list_for_each_entry_safe_from(9), list_for_each_entry_safe_reverse(9), list_safe_reset_next(9), hlist_unhashed(9), hlist_unhashed_lockless(9), hlist_empty(9), hlist_del(9), hlist_del_init(9), hlist_add_head(9), hlist_add_before(9), hlist_add_behind(9), hlist_add_fake(9), hlist_fake(9), hlist_is_singular_node(9), hlist_move_list(9), hlist_splice_init(9), hlist_for_each_entry(9), hlist_for_each_entry_continue(9), hlist_for_each_entry_from(9), hlist_for_each_entry_safe(9), hlist_count_nodes(9).


okay that's the whole page bestie πŸ’– source/version vibes: ./include/linux, dated October 2026, and the page itself is list_next_entry_circular(9) β€” iconic, no cap πŸ‘‘βœ¨

πŸ“¦ where this page comes from