rxrpc_kernel_begin_call(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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, easy
  • user_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 -1 is a thing, don't forget it
  • hard_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 mind
  • notify_rx β€” Where to send notifications instead of socket queue. so you can redirect the notifications elsewhere, slay
  • service_id β€” The ID of the service to contact. which service, specific, no guessing
  • upgrade β€” 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 want
  • debug_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 supplying srx and key. 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 ⭐

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