openfd(9P) - Plan 9 from User Space

| OPENFD(9P) | OPENFD(9P)
| 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.
After a successful open transaction, fid is considered by the client to have been clunked and can 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`.
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.
ENTRY POINTS
| Fsopenfd (see 9pclient(3)) generates an `openfd` message.