hlist_splice_init(9)
π hlist_splice_init β the Kernel API Manual, section 9, bestie π
Okay so real talk, this one's a lil cutie with a big job, and it lives in the Kernel API Manual, section 9, so you already know it's β¨officialβ¨.
β¨ NAME β¨
hlist_splice_init β literally just moving every single entry from one list over to another. That's it, that's the whole vibe. π
π¦ SYNOPSIS π¦
void hlist_splice_init (struct hlist_head *from , struct hlist_node
*last , struct hlist_head *to );
πΈ ARGUMENTS πΈ
fromβ thehlist_headthat the entries are getting yeeted out of π¨lastβ the last entry sitting on thefromlist. Yes, you gotta point at it. She needs to know where to stop, okurrr π«Άtoβ thehlist_headthat the entries are landing in π¬
π DESCRIPTION π
So here's the tea π: to is allowed to be empty β like, fully vacant, no entries, napping, untouched, zero notes. That's completely fine, no cap.
But from? from must contain at least last. Not optional. Not "eh, close enough". If last isn't actually on that list, you're in the danger zone, bestie π β so don't do that.
π¨ vibe check:toempty = iconic and valid.fromwithoutlastin it = not valid, do not pass go, do not collect your entries.
π₯ SEE ALSO π₯
Kernel file ./include/linux/list.h β go read the source, iykyk π
And now the whole extended fam, in order, because I would never do you like that and skip anyone π
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_next_entry_circular(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_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)
That's the whole squad, nobody left behind π§π
And a lil sign-off, mwah π β this one comes from ./include/linux, dated October 2026, and she's filed as hlist_splice_init(9). Slay, go splice responsibly πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms