iucv_message_receive(9)
π iucv_message_receive β bestie's guide to the kernel API manual β¨
okay so picture this: you're a kernel function in iucv_message_receive(9) and your whole vibe is receiving messages on an established path, with locking. that's the name, that's the assignment, periodt. this is the Kernel API Manual btw, and yes we're reading it together, grab a strawberry π
β¨ SYNOPSIS β¨
int iucv_message_receive (struct iucv_path *path , struct iucv_message
*msg , u8 flags , void *buffer , size_t size , size_t *residual );
that's the whole signature, no cap, copy it exactly fr fr π
π ARGUMENTS π
pathβ the address of theiucvpath structure. like, where your path lives π£οΈmsgβ the address of theiucvmsg structure. the message's home address, iconicflagsβ flags that affect how the message is received (IUCV_IPBUFLST). it's giving "options, but make it lowercase" π«bufferβ the address of the data buffer, or the address of astruct iucv_array. two moods, one parameter π¦sizeβ the length of the data buffer. how much room you're giving it, be generousresidualβ honestly the original page gives this one zero explanation, so i'm not gonna invent one for you. it's justresidual. main character with no backstory π
πΈ DESCRIPTION πΈ
this function receives messages that are being sent to you over established paths. yes, you. it's literally the whole point π«Ά
and it's not just a plain receiver either β it will deal with RMDATA messages embedded in struct iucv_message as well. so those tricky little embedded ones? handled. slay π
Locking: local_bh_enable/local_bh_disable
that's the locking note straight from the page β the "with locking" in the NAME was not playing around, bestie.local_bh_enable/local_bh_disable, both of them, write it down βοΈ
π₯ RETURN π₯
the result from the CP IUCV call. that's it. that's the return value. no extra lore, no secret bonus returns β just the CP IUCV call's result, forwarded to you with love π
π SEE ALSO π
buckle up babes, this list is long and every single one of these is staying π«‘
Kernel file ./net/iucv/iucv.c β then:
__iucv_call_b2f0(9)iucv_allow_cpu(9)iucv_block_cpu(9)iucv_declare_cpu(9)iucv_retrieve_cpu(9)iucv_sever_pathid(9)__iucv_cleanup_queue(9)iucv_cleanup_queue(9)iucv_register(9)iucv_unregister(9)iucv_path_accept(9)iucv_path_connect(9)iucv_path_quiesce(9)iucv_path_resume(9)iucv_path_sever(9)iucv_message_purge(9)iucv_message_receive_iprmdata(9)__iucv_message_receive(9)iucv_message_reject(9)iucv_message_reply(9)__iucv_message_send(9)iucv_message_send(9)iucv_message_send2way(9)iucv_path_pending(9)iucv_path_complete(9)iucv_path_severed(9)iucv_path_quiesced(9)iucv_path_resumed(9)iucv_message_complete(9)iucv_message_pending(9)iucv_init(9)iucv_exit(9)
all of them. every single one. i counted, you count too π
and that's the page!! β¨ this whole thing lives in ./net/iucv, the source is dated October 2026, and it's filed under the iucv_message_receive(9) name in the Kernel API Manual π¦π«Ά go receive some messages bestie, you've got this ππ
π¦ 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