commit 2eda9ef87a823d095758a1b90ebba47b86c18177 from: rsc date: Fri Jan 14 19:37:38 2005 UTC documet openfd commit - 48edcfdd7c74a6216c715dd675b977a5ba2614e2 commit + 2eda9ef87a823d095758a1b90ebba47b86c18177 blob - /dev/null blob + 89aa254f93d3149f238529c44389ef215139e9a1 (mode 644) --- /dev/null +++ man/man9/openfd.9p @@ -0,0 +1,60 @@ +.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.