p9_client_zc_rpc(9)
π 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 (seeprotocol.c). the little formatting blueprint, iykyk β...β variable arguments. the extra lil besties that go withfmtπ
π₯ 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 π«Ά
p9_tag_alloc(9)p9_tag_lookup(9)p9_tag_remove(9)p9_tag_cleanup(9)p9_client_cb(9)p9_parse_header(9)p9_check_errors(9)p9_client_flush(9)p9_client_rpc(9)
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
- 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