Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
READ(9P)							      READ(9P)

       read, write - transfer data from	and to a file

       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]

       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

       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	direc-
       tory.   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.  Di-
       rectories 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.

       Fsread and fswrite (see generate	the corresponding  messages.   Because
       they  take  an  offset parameter, the fspread and fspwrite calls	corre-
       spond more directly to the 9P messages.	Although  fsseek  affects  the
       offset, it does not generate a message.



Want to link to this manual page? Use this URL:

home | help