123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- .TH READ 5
- .SH NAME
- read, write \- transfer data from and to a file
- .SH SYNOPSIS
- .ta \w'\fLTwrite 'u
- .IR size [4]
- .B Tread
- .IR tag [2]
- .IR fid [4]
- .IR offset [8]
- .IR count [4]
- .br
- .IR size [4]
- .B Rread
- .IR tag [2]
- .IR count [4]
- .IR data [ count ]
- .PP
- .IR size [4]
- .B Twrite
- .IR tag [2]
- .IR fid [4]
- .IR offset [8]
- .IR count [4]
- .IR data [ count ]
- .br
- .IR size [4]
- .B Rwrite
- .IR tag [2]
- .IR count [4]
- .SH DESCRIPTION
- The
- .B read
- request
- asks for
- .I count
- bytes of data
- from the file identified by
- .IR fid ,
- which must be opened for reading,
- starting
- .I offset
- bytes after the beginning of the file.
- The bytes are returned with the
- .B read
- reply message.
- .PP
- The
- .I count
- field in the reply indicates the number of bytes returned.
- This may be less than the requested amount.
- If the
- .I offset
- field is greater than or equal to the number of bytes in the file,
- a count of zero will be returned.
- .PP
- For directories,
- .B read
- returns an integral number of
- directory entries exactly as in
- .B stat
- (see
- .IR stat (5)),
- one for each member of the directory.
- The
- .B read
- request message must have
- .B offset
- equal to zero or the value of
- .B offset
- in the previous
- .B read
- on the directory, plus the number of bytes
- returned in the previous
- .BR read .
- In other words, seeking other than to the beginning
- is illegal in a directory (see
- .IR seek (2)).
- .PP
- The
- .B write
- request asks that
- .I count
- bytes of data be recorded in the file identified by
- .IR fid ,
- which must be opened for writing, starting
- .I offset
- bytes after the beginning of the file.
- If the file is append-only,
- the data will be placed at the end of the file regardless of
- .IR offset .
- Directories may not be written.
- .PP
- The
- .B write
- reply records the number of bytes actually written.
- It is usually an error
- if this is not the same as requested.
- .PP
- Because 9P implementations may limit the size of individual
- messages,
- more than one message may be produced by a single
- .I read
- or
- .I write
- call.
- The
- .I iounit
- field returned by
- .IR open (5),
- if non-zero, reports the maximum size that is guaranteed
- to be transferred atomically.
- .SH ENTRY POINTS
- .B Read
- and
- .B write
- messages are generated by the corresponding calls.
- Because they include an offset, the
- .I pread
- and
- .I pwrite
- calls correspond more directly to the 9P messages.
- Although
- .IR seek (2)
- affects the offset, it does not generate a message.
|