libie_ctlq_xn_send(9)
π libie_ctlq_xn_send(9) β bestie's guide to yeeting a control queue message
okay so this is a Kernel API Manual page, section 9 (iykyk, that's the kernel interfaces girlies), and we're talking about libie_ctlq_xn_send β the function that sends a control queue message and starts a whole transaction. main character energy fr. π
β¨ SYNOPSIS β¨
int libie_ctlq_xn_send (struct libie_ctlq_xn_send_params *params );
like, one arg, one int back, no cap. π
πΈ ARGUMENTS πΈ
paramsβ the Xn send param information used for sending a control queue message. she's literally the blueprint for the send, everything hinges on her π«Ά
π¦ DESCRIPTION π¦
so basically you're sending a control queue message β think mailbox or config, those are the two vibes it covers. lowkey simple right?
here's the tea though π: based on whatever the params value says, the call can be completed synchronously or asynchronously. yes bestie, two different timelines, and it's params that decides which one you're living in. choose wisely. π
β RETURN β
0on success β slay, we ate π-errnoon failure β not slay, go check your errno π
π₯ SEE ALSO π₯
first up, the home turf β the kernel file this all lives in:
./drivers/net/ethernet/intel/libie/controlq.c
and now the whole friend group, everyone gets their flowers π:
libie_ctlq_free_fq(9)libie_ctlq_init_fq(9)libie_ctlq_prep_rx_desc(9)libie_ctlq_post_rx_buffs(9)libie_ctlq_free_tx_msgs(9)libie_ctlq_alloc_tx_msgs(9)libie_cp_free_desc_mem(9)libie_ctlq_dealloc_ring_res(9)libie_cp_alloc_desc_mem(9)libie_ctlq_alloc_queue_res(9)libie_ctlq_init_regs(9)libie_find_ctlq(9)libie_ctlq_add(9)libie_ctlq_remove(9)libie_ctlq_init(9)libie_ctlq_deinit(9)libie_ctlq_tx_desc_from_msg(9)libie_ctlq_send_desc_avail(9)libie_ctlq_send(9)libie_ctlq_send_clean(9)libie_ctlq_fill_rx_msg(9)libie_ctlq_recv(9)libie_ctlq_xn_pop_free(9)__libie_ctlq_xn_push_free(9)libie_ctlq_xn_push_free(9)libie_ctlq_xn_deinit_dma(9)libie_ctlq_xn_init_dma(9)libie_ctlq_xn_process_recv(9)libie_xn_check_async_timeout(9)libie_ctlq_xn_recv(9)libie_cp_map_dma_mem(9)libie_cp_unmap_dma_mem(9)libie_ctlq_xn_process_send(9)struct libie_ctlq_xn_rel_tx_ctx(9)libie_ctlq_xn_rel_tx_buf(9)libie_ctlq_xn_send_clean(9)libie_ctlq_xn_shutdown(9)libie_ctlq_xn_deinit(9)libie_ctlq_xn_init(9)
also note the__prefix on__libie_ctlq_xn_push_free(9)β that's the double-underscore "i'm the internal one" energy, don't mix her up withlibie_ctlq_xn_push_free(9)π
and that's the whole page, bestie!! source is ./drivers/net/ethernet/intel/l... (yes it's literally truncated like that, that's what the page says, don't come for me π) and it's dated October 2026 β future iconic behavior fr fr. mwah ππ§ββοΈπ·
π¦ 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