rxrpc_kernel_begin_call(9)
β¨ rxrpc_kernel_begin_call(9) β¨
okay so bestie, welcome to the Kernel API Manual entry for rxrpc_kernel_begin_call β yes that's a whole mouthful, we're saying it with our chest π
this is the one that lets a kernel service begin a call, and honestly? iconic behaviour.
π¦ NAME π¦
rxrpc_kernel_begin_call β the way a kernel service gets to begin a call. that's it, that's the vibe π«Ά
π SYNOPSIS π
struct rxrpc_call * rxrpc_kernel_begin_call (struct socket *sock ,
struct rxrpc_peer *peer , struct key *key , unsigned long user_call_ID ,
s64 tx_total_len , u32 hard_timeout , gfp_t gfp , rxrpc_notify_rx_t
notify_rx , u16 service_id , bool upgrade , enum rxrpc_interruptibility
interruptibility , unsigned int debug_id );
like look at that parameter list. twelve whole arguments. main character energy, no cap π
πΈ ARGUMENTS πΈ
okay so here's every single one, and you're gonna know them all:
sockβ The socket on which to make the call. this is the whole venue for the operation, the stage, the moment β¨peerβ The peer to contact. your person on the other end πkeyβ The security context to use (defaults to socket setting). so if you don't hand it one, it just uses whatever the socket already vibes with, easyuser_call_IDβ The ID to use. your little name tag for the call π·οΈtx_total_lenβ Total length of data to transmit during the call (or-1). lowkey important that-1is a thing, don't forget ithard_timeoutβ The maximum lifespan of the call in sec. it's giving "we have a deadline and we respect it" β°gfpβ The allocation constraints. yep, the allocation rules, keep them in mindnotify_rxβ Where to send notifications instead of socket queue. so you can redirect the notifications elsewhere, slayservice_idβ The ID of the service to contact. which service, specific, no guessingupgradeβ Request service upgrade for call. ask for that glow-up π₯interruptibilityβ The call is interruptible, or can be canceled. your call on which energy you wantdebug_idβ The debug ID for tracing to be assigned to the call. so when you're debugging later you can find it in the crowd π΅οΈββοΈ
π DESCRIPTION π
Allow a kernel service to begin a call on the nominated socket. that's the whole point, bestie π«Ά
and like, this doesn't do the whole call thing β it just sets up all the internal tracking structures and allocates connection and call IDs as appropriate. so it's the prep work, the getting-ready-with-a-playlist phase, and the actual call happens after π§
also, heads up: The default socket destination address and security may be overridden by supplyingsrxandkey. keep those two in your pocket if you wanna change the defaults π
π RETURN π
The new call or an error code. so either you get your brand new call back, or you get told no β binary queen behaviour, literally π
β SEE ALSO β
- Kernel file
./net/rxrpc/af_rxrpc.c rxrpc_kernel_lookup_peer(9)rxrpc_kernel_get_peer(9)rxrpc_kernel_put_peer(9)rxrpc_kernel_shutdown_call(9)rxrpc_kernel_put_call(9)rxrpc_kernel_check_life(9)rxrpc_kernel_set_notifications(9)
like that is a whole friend group and you should absolutely meet all of them π§π
and that's the page!! this whole thing lives over in ./net/rxrpc, it's dated October 2026, and it's part of the Kernel API Manual β go forth and begin those calls, bestie, you're gonna eat π
β¨π
π¦ 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