plan9port/man/man9/openfd.9p
Russ Cox 977b25a76a tmac: introduce real manual reference macro instead of overloading IR
The overloading of IR emits magic \X'...' sequences that turn into HTML manual links.
But not all such IR invocations should be manual links;
those had to be written to avoid the IR macro before.
Worse, the \X'...' ending the IR causes troff to emit only a single space after a period.

Defining a new IM macro for manual references fixes both problems.

Fixes #441.
2020-08-13 23:43:43 -04:00

60 lines
1.1 KiB
Text

.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
.IM 9pserve (4) .
9P servers that post their services using
.IM 9pserve (4)
(or indirectly via
.IM post9pservice (3) )
will never see a
.B Topenfd
message.
.SH ENTRY POINTS
.I Fsopenfd
(see
.IM 9pclient (3) )
generates an
.B openfd
message.