1 cfa37a7b 2004-04-10 devnull .TH READ 3
3 cfa37a7b 2004-04-10 devnull read, readn, write, pread, pwrite \- read or write file
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
10 cfa37a7b 2004-04-10 devnull long read(int fd, void *buf, long nbytes)
13 cfa37a7b 2004-04-10 devnull long readn(int fd, void *buf, long nbytes)
16 cfa37a7b 2004-04-10 devnull long write(int fd, void *buf, long nbytes)
19 cfa37a7b 2004-04-10 devnull long pread(int fd, void *buf, long nbytes, vlong offset)
22 cfa37a7b 2004-04-10 devnull long pwrite(int fd, void *buf, long nbytes, vlong offset)
23 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
26 cfa37a7b 2004-04-10 devnull .I nbytes
27 cfa37a7b 2004-04-10 devnull bytes of data
28 cfa37a7b 2004-04-10 devnull from the offset in the file associated with
30 cfa37a7b 2004-04-10 devnull into memory at
31 cfa37a7b 2004-04-10 devnull .IR buf .
32 cfa37a7b 2004-04-10 devnull The offset is advanced by the number of bytes read.
33 cfa37a7b 2004-04-10 devnull It is not guaranteed
35 cfa37a7b 2004-04-10 devnull .I nbytes
36 cfa37a7b 2004-04-10 devnull bytes will be read; for example
37 cfa37a7b 2004-04-10 devnull if the file refers to the console, at most one line
38 cfa37a7b 2004-04-10 devnull will be returned.
39 cfa37a7b 2004-04-10 devnull In any event the number of bytes read is returned.
40 cfa37a7b 2004-04-10 devnull A return value of
41 cfa37a7b 2004-04-10 devnull 0 is conventionally interpreted as end of file.
44 cfa37a7b 2004-04-10 devnull is just like read, but does successive
46 cfa37a7b 2004-04-10 devnull calls until
47 cfa37a7b 2004-04-10 devnull .I nbytes
48 cfa37a7b 2004-04-10 devnull have been read, or a read system call
49 cfa37a7b 2004-04-10 devnull returns a non-positive count.
53 cfa37a7b 2004-04-10 devnull .I nbytes
54 cfa37a7b 2004-04-10 devnull bytes of data starting at
56 cfa37a7b 2004-04-10 devnull to the file associated with
58 cfa37a7b 2004-04-10 devnull at the file offset.
59 cfa37a7b 2004-04-10 devnull The offset is advanced by the number of bytes written.
60 cfa37a7b 2004-04-10 devnull The number of characters actually written is returned.
61 cfa37a7b 2004-04-10 devnull It should be regarded as an error
62 cfa37a7b 2004-04-10 devnull if this is not the same as requested.
66 cfa37a7b 2004-04-10 devnull .I Pwrite
67 cfa37a7b 2004-04-10 devnull equivalent to a
68 bf8a59fa 2004-04-11 devnull .IR seek (3)
70 cfa37a7b 2004-04-10 devnull .I offset
71 cfa37a7b 2004-04-10 devnull followed by a
74 cfa37a7b 2004-04-10 devnull .IR write .
75 cfa37a7b 2004-04-10 devnull By combining the operations in a single atomic call, they more closely
76 cfa37a7b 2004-04-10 devnull match the 9P protocol
78 058b0118 2005-01-03 devnull .IR intro (9p))
79 cfa37a7b 2004-04-10 devnull and, more important,
80 cfa37a7b 2004-04-10 devnull permit multiprocess programs to execute multiple concurrent
81 cfa37a7b 2004-04-10 devnull read and write operations on the same file descriptor
82 cfa37a7b 2004-04-10 devnull without interference.
83 cfa37a7b 2004-04-10 devnull .SH SOURCE
84 c3674de4 2005-01-11 devnull .B \*9/src/lib9/readn.c
85 cfa37a7b 2004-04-10 devnull .SH SEE ALSO
86 bf8a59fa 2004-04-11 devnull .IR intro (3),
87 bf8a59fa 2004-04-11 devnull .IR open (3),
88 bf8a59fa 2004-04-11 devnull .IR dup (3),
89 058b0118 2005-01-03 devnull .IR pipe (3)
90 cfa37a7b 2004-04-10 devnull .SH DIAGNOSTICS
91 cfa37a7b 2004-04-10 devnull These functions set
92 cfa37a7b 2004-04-10 devnull .IR errstr .