Blob


1 .TH OPENFD 9P
2 .SH NAME
3 openfd \- prepare a fid for I/O using a file descriptor
4 .SH SYNOPSIS
5 .ta \w'\fLTopenfd 'u
6 .IR size [4]
7 .B Topenfd
8 .IR tag [2]
9 .IR fid [4]
10 .IR mode [1]
11 .br
12 .IR size [4]
13 .B Ropenfd
14 .IR tag [2]
15 .IR qid [13]
16 .IR iounit [4]
17 .IR unixfd [4]
18 .SH DESCRIPTION
19 The
20 .I openfd
21 request behaves like open, except that it prepares and returns
22 a Unix file descriptor corresponding to the opened fid.
23 .PP
24 After a successful
25 .I open
26 transaction,
27 .I fid
28 is considered by the client to have been clunked
29 and can be reused.
30 .PP
31 The returned Unix file descriptor is one end of a Unix pipe.
32 A proxy process at the other end transfers data between
33 the pipe and the 9P server.
34 Because it is a pipe, errors on reads and writes are discarded
35 and
36 .I mode
37 must be
38 .B OREAD
39 or
40 .BR OWRITE ;
41 it cannot be
42 .BR ORDWR .
43 .PP
44 .I Openfd
45 is implemented by
46 .MR 9pserve (4) .
47 9P servers that post their services using
48 .MR 9pserve (4)
49 (or indirectly via
50 .MR post9pservice (3) )
51 will never see a
52 .B Topenfd
53 message.
54 .SH ENTRY POINTS
55 .I Fsopenfd
56 (see
57 .MR 9pclient (3) )
58 generates an
59 .B openfd
60 message.