p9_client_zc_rpc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… p9_client_zc_rpc β€” kernel API manual, but make it make sense

okay so bestie, welcome to the p9_client_zc_rpc(9) page β€” yes that's the manual name, it's a kernel API manual situation, and we're about to read it together like it's the group chat 🫢

This one is literally the zero-copy request girlie: you fire off a request and then you wait for the response. Iconic behaviour. πŸŽ€


✨ NAME ✨

p9_client_zc_rpc β€” issue a request and wait for a response

no cap, that's the whole personality: you send it, you sit there, you get your answer back. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct p9_req_t * p9_client_zc_rpc (struct p9_client *c , int8_t type ,
struct iov_iter *uidata , struct iov_iter *uodata , int inlen , int olen
, int in_hdrlen , const char *fmt , ... );

look at her. nine things to pass and one of them is ... which is giving "and friends" energy 😭


🌸 ARGUMENTS 🌸

  • c β€” the client session. your main character. everything happens inside her πŸ’–
  • type β€” type of request. what kind of message we're sending, k? ✨
  • uidata β€” destination for zero copy read. the read data lands here, zero copy, we do not copy, we do not pass go πŸŽ€
  • uodata β€” source for zero copy write. the write data comes from here. same deal, no copying, obsessed πŸ¦‹
  • inlen β€” read buffer size. how big the read side is 🌸
  • olen β€” write buffer size. how big the write side is 🌈
  • in_hdrlen β€” reader header size. and ngl, the page spells it out for us: This is the size of response protocol data β€” so it's the size of the response protocol data, periodt πŸ‘‘
  • fmt β€” protocol format string (see protocol.c). the little formatting blueprint, iykyk ⭐
  • ... β€” variable arguments. the extra lil besties that go with fmt πŸ’œ

πŸ”₯ DESCRIPTION πŸ”₯

Returns request structure (which client must free using p9_req_put)

πŸ’€ bestie please do not forget the p9_req_put β€” the client must free it. that's not a suggestion, that's the rule. free your request or it just sits there in memory being messy πŸ™ˆ

🧚 SEE ALSO 🧚

Kernel file ./net/9p/client.c β€” that's where the actual lore lives, go read her 🫢

the whole friend group, fr fr πŸ’…βœ¨


and that's the page!! sign-off time: this lil gem lives under ./net/9p, it's dated October 2026, and it comes to you from the Kernel API Manual πŸ’– slay, go free your requests, ily, bye πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from