Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (5) — Plan9 3rd Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

READ(5)

NAME

read, write − transfer data from and to a file

SYNOPSIS

Tread tag[2] fid[2] offset[8] count[2]
Rread tag[2] fid[2] count[2] pad[1] data[count]

Twrite tag[2] fid[2] offset[8] count[2] pad[1] data[count]
Rwrite tag[2] fid[2] count[2]

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.  ­Count must be less than or equal to ­MAXFDATA (8192, defined in <fcall.h>).  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 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(5)), one for each member of the directory. The read request message must have ­offset and ­count zero modulo DIRLEN. 

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 has been opened 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. 

ENTRY POINTS

­Read and ­write messages are generated by the corresponding calls.  Because of the ­MAXFDATA limit, more than one message may be produced by a single call. 

Plan 9  —  March 27, 2001

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026