Blame


1 058b0118 2005-01-03 devnull .TH READ 9P
2 058b0118 2005-01-03 devnull .SH NAME
3 058b0118 2005-01-03 devnull read, write \- transfer data from and to a file
4 058b0118 2005-01-03 devnull .SH SYNOPSIS
5 058b0118 2005-01-03 devnull .ta \w'\fLTwrite 'u
6 058b0118 2005-01-03 devnull .IR size [4]
7 058b0118 2005-01-03 devnull .B Tread
8 058b0118 2005-01-03 devnull .IR tag [2]
9 058b0118 2005-01-03 devnull .IR fid [4]
10 058b0118 2005-01-03 devnull .IR offset [8]
11 058b0118 2005-01-03 devnull .IR count [4]
12 058b0118 2005-01-03 devnull .br
13 058b0118 2005-01-03 devnull .IR size [4]
14 058b0118 2005-01-03 devnull .B Rread
15 058b0118 2005-01-03 devnull .IR tag [2]
16 058b0118 2005-01-03 devnull .IR count [4]
17 058b0118 2005-01-03 devnull .IR data [ count ]
18 058b0118 2005-01-03 devnull .PP
19 058b0118 2005-01-03 devnull .IR size [4]
20 058b0118 2005-01-03 devnull .B Twrite
21 058b0118 2005-01-03 devnull .IR tag [2]
22 058b0118 2005-01-03 devnull .IR fid [4]
23 058b0118 2005-01-03 devnull .IR offset [8]
24 058b0118 2005-01-03 devnull .IR count [4]
25 058b0118 2005-01-03 devnull .IR data [ count ]
26 058b0118 2005-01-03 devnull .br
27 058b0118 2005-01-03 devnull .IR size [4]
28 058b0118 2005-01-03 devnull .B Rwrite
29 058b0118 2005-01-03 devnull .IR tag [2]
30 058b0118 2005-01-03 devnull .IR count [4]
31 058b0118 2005-01-03 devnull .SH DESCRIPTION
32 058b0118 2005-01-03 devnull The
33 058b0118 2005-01-03 devnull .B read
34 058b0118 2005-01-03 devnull request
35 058b0118 2005-01-03 devnull asks for
36 058b0118 2005-01-03 devnull .I count
37 058b0118 2005-01-03 devnull bytes of data
38 058b0118 2005-01-03 devnull from the file identified by
39 058b0118 2005-01-03 devnull .IR fid ,
40 058b0118 2005-01-03 devnull which must be opened for reading,
41 058b0118 2005-01-03 devnull starting
42 058b0118 2005-01-03 devnull .I offset
43 058b0118 2005-01-03 devnull bytes after the beginning of the file.
44 058b0118 2005-01-03 devnull The bytes are returned with the
45 058b0118 2005-01-03 devnull .B read
46 058b0118 2005-01-03 devnull reply message.
47 058b0118 2005-01-03 devnull .PP
48 058b0118 2005-01-03 devnull The
49 058b0118 2005-01-03 devnull .I count
50 058b0118 2005-01-03 devnull field in the reply indicates the number of bytes returned.
51 058b0118 2005-01-03 devnull This may be less than the requested amount.
52 058b0118 2005-01-03 devnull If the
53 058b0118 2005-01-03 devnull .I offset
54 058b0118 2005-01-03 devnull field is greater than or equal to the number of bytes in the file,
55 058b0118 2005-01-03 devnull a count of zero will be returned.
56 058b0118 2005-01-03 devnull .PP
57 058b0118 2005-01-03 devnull For directories,
58 058b0118 2005-01-03 devnull .B read
59 058b0118 2005-01-03 devnull returns an integral number of
60 058b0118 2005-01-03 devnull directory entries exactly as in
61 058b0118 2005-01-03 devnull .B stat
62 058b0118 2005-01-03 devnull (see
63 058b0118 2005-01-03 devnull .IR stat (9P)),
64 058b0118 2005-01-03 devnull one for each member of the directory.
65 058b0118 2005-01-03 devnull The
66 058b0118 2005-01-03 devnull .B read
67 058b0118 2005-01-03 devnull request message must have
68 058b0118 2005-01-03 devnull .B offset
69 058b0118 2005-01-03 devnull equal to zero or the value of
70 058b0118 2005-01-03 devnull .B offset
71 058b0118 2005-01-03 devnull in the previous
72 058b0118 2005-01-03 devnull .B read
73 058b0118 2005-01-03 devnull on the directory, plus the number of bytes
74 058b0118 2005-01-03 devnull returned in the previous
75 058b0118 2005-01-03 devnull .BR read .
76 058b0118 2005-01-03 devnull In other words, seeking other than to the beginning
77 058b0118 2005-01-03 devnull is illegal in a directory.
78 058b0118 2005-01-03 devnull .PP
79 058b0118 2005-01-03 devnull The
80 058b0118 2005-01-03 devnull .B write
81 058b0118 2005-01-03 devnull request asks that
82 058b0118 2005-01-03 devnull .I count
83 058b0118 2005-01-03 devnull bytes of data be recorded in the file identified by
84 058b0118 2005-01-03 devnull .IR fid ,
85 058b0118 2005-01-03 devnull which must be opened for writing, starting
86 058b0118 2005-01-03 devnull .I offset
87 058b0118 2005-01-03 devnull bytes after the beginning of the file.
88 058b0118 2005-01-03 devnull If the file is append-only,
89 058b0118 2005-01-03 devnull the data will be placed at the end of the file regardless of
90 058b0118 2005-01-03 devnull .IR offset .
91 058b0118 2005-01-03 devnull Directories may not be written.
92 058b0118 2005-01-03 devnull .PP
93 058b0118 2005-01-03 devnull The
94 058b0118 2005-01-03 devnull .B write
95 058b0118 2005-01-03 devnull reply records the number of bytes actually written.
96 058b0118 2005-01-03 devnull It is usually an error
97 058b0118 2005-01-03 devnull if this is not the same as requested.
98 058b0118 2005-01-03 devnull .PP
99 058b0118 2005-01-03 devnull Because 9P implementations may limit the size of individual
100 058b0118 2005-01-03 devnull messages,
101 058b0118 2005-01-03 devnull more than one message may be produced by a single
102 058b0118 2005-01-03 devnull .I read
103 058b0118 2005-01-03 devnull or
104 058b0118 2005-01-03 devnull .I write
105 058b0118 2005-01-03 devnull call.
106 058b0118 2005-01-03 devnull The
107 058b0118 2005-01-03 devnull .I iounit
108 058b0118 2005-01-03 devnull field returned by
109 058b0118 2005-01-03 devnull .IR open (9P),
110 058b0118 2005-01-03 devnull if non-zero, reports the maximum size that is guaranteed
111 058b0118 2005-01-03 devnull to be transferred atomically.
112 058b0118 2005-01-03 devnull .SH ENTRY POINTS
113 058b0118 2005-01-03 devnull .I Fsread
114 058b0118 2005-01-03 devnull and
115 058b0118 2005-01-03 devnull .I fswrite
116 058b0118 2005-01-03 devnull (see
117 36cd4c58 2021-01-30 crossd .MR 9pclient (3) )
118 058b0118 2005-01-03 devnull generate the corresponding messages.
119 058b0118 2005-01-03 devnull Because they take an offset parameter, the
120 058b0118 2005-01-03 devnull .I fspread
121 058b0118 2005-01-03 devnull and
122 058b0118 2005-01-03 devnull .I fspwrite
123 058b0118 2005-01-03 devnull calls correspond more directly to the 9P messages.
124 058b0118 2005-01-03 devnull Although
125 058b0118 2005-01-03 devnull .I fsseek
126 058b0118 2005-01-03 devnull affects the offset, it does not generate a message.