OPENFD(9P)
π OPENFD(9P) β openfd, but make it bestie π
okay so you opened the OPENFD(9P) page and we're gonna get you comfy with openfd, no cap. β¨
πΈ NAME πΈ
openfdβ prepare a fid for I/O using a file descriptor
π¦ SYNOPSIS π¦
size[4] Topenfd tag[2] fid[4] mode[1]
size[4] Ropenfd tag[2] qid[13] iounit[4] unixfd[4]
β¨ DESCRIPTION β¨
the openfd request behaves like open, except that it prepares and returns a Unix file descriptor corresponding to the opened fid. literally the same vibe, but with a fd handoff. π«Ά
after a successful open transaction, fid is considered by the client to have been clunked and can be reused. so yeah, it's done-zo on the client side and free to be reused. π
the returned Unix file descriptor is one end of a Unix pipe. a proxy process at the other end transfers data between the pipe and the 9P server. because it is a pipe, errors on reads and writes are discarded β and mode must be OREAD or OWRITE; it cannot be ORDWR. not me warning you, it's just the rules. π
Openfd is implemented by 9pserve(4). 9P servers that post their services using 9pserve(4) (or indirectly via post9pservice(3)) will never see a Topenfd message. iconic, honestly. π
π ENTRY POINTS π
Fsopenfd(see9pclient(3)) β generates anopenfdmessage. that's the entry point, bestie. β
that's the whole page, bestie π the footer is just OPENFD(9P) β no source/version/date line to copy, so we're signing off cute instead. byeee π
π¦ where this page comes from
- alpine 3.24: plan9port-doc 0_git20260208-r0 Β· LPL-1.02
- arch rolling: plan9port 20261021-2 Β· custom
- nixos 26.05: plan9port 0-unstable-2025-11-10
- nixos 26.05: plan9port-wayland 0-unstable-2025-11-26
- nixpkgs unstable: plan9port 0-unstable-2025-11-10
- nixpkgs unstable: plan9port-wayland 0-unstable-2025-11-26
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms