   READ(9P) READ(9P)

   NAME
   read, write – transfer data from and to a file

   SYNOPSIS
   size[4] Tread tag[2] fid[4] offset[8] count[4]
   size[4] Rread tag[2] count[4] data[count]
   size[4] Twrite tag[2] fid[4] offset[8] count[4] data[count]
   size[4] Rwrite tag[2] count[4]

   DESCRIPTION
   The read request asks for count bytes of data from the file identified
   by fid, which must be opened for reading, starting offset bytes after
   the beginning of the file. The bytes are returned with the read reply
   message.
   The count field in the reply indicates the number of bytes returned.
   This may be less than the requested amount. If the offset field is
   greater than or equal to the number of bytes in the file, a count of
   zero will be returned.
   For directories, read returns an integral number of directory entries
   exactly as in stat (see stat(9P)), one for each member of the
   directory. The read request message must have offset equal to zero or
   the value of offset in the previous read on the directory, plus the
   number of bytes returned in the previous read. In other words, seeking
   other than to the beginning is illegal in a directory.
   The write request asks that count bytes of data be recorded in the file
   identified by fid, which must be opened for writing, starting 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 offset.
   Directories may not be written.
   The write reply records the number of bytes actually written. It is
   usually an error if this is not the same as requested.
   Because 9P implementations may limit the size of individual messages,
   more than one message may be produced by a single read or write call.
   The iounit field returned by open(9P), if non-zero, reports the maximum
   size that is guaranteed to be transferred atomically.

   ENTRY POINTS
   Fsread and fswrite (see 9pclient(3)) generate the corresponding
   messages. Because they take an offset parameter, the fspread and
   fspwrite calls correspond more directly to the 9P messages. Although
   fsseek affects the offset, it does not generate a message.

                                Space Glenda
