.TH OPENFD 9P | |
.SH NAME | |
openfd \- prepare a fid for I/O using a file descriptor | |
.SH SYNOPSIS | |
.ta \w'\fLTopenfd 'u | |
.IR size [4] | |
.B Topenfd | |
.IR tag [2] | |
.IR fid [4] | |
.IR mode [1] | |
.br | |
.IR size [4] | |
.B Ropenfd | |
.IR tag [2] | |
.IR qid [13] | |
.IR iounit [4] | |
.IR unixfd [4] | |
.SH DESCRIPTION | |
The | |
.I openfd | |
request behaves like open, except that it prepares and returns | |
a Unix file descriptor corresponding to the opened fid. | |
.PP | |
After a successful | |
.I open | |
transaction, | |
.I fid | |
is considered by the client to have been clunked | |
and can be reused. | |
.PP | |
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 | |
.I mode | |
must be | |
.B OREAD | |
or | |
.BR OWRITE ; | |
it cannot be | |
.BR ORDWR . | |
.PP | |
.I Openfd | |
is implemented by | |
.IR 9pserve (4). | |
9P servers that post their services using | |
.IR 9pserve (4) | |
(or indirectly via | |
.IR post9pservice (3)) | |
will never see a | |
.B Topenfd | |
message. | |
.SH ENTRY POINTS | |
.I Fsopenfd | |
(see | |
.IR 9pclient (3)) | |
generates an | |
.B openfd | |
message. |