Blame


1 cfa37a7b 2004-04-10 devnull .TH READ 3
2 cfa37a7b 2004-04-10 devnull .SH NAME
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>
6 cfa37a7b 2004-04-10 devnull .br
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
8 cfa37a7b 2004-04-10 devnull .PP
9 cfa37a7b 2004-04-10 devnull .B
10 cfa37a7b 2004-04-10 devnull long read(int fd, void *buf, long nbytes)
11 cfa37a7b 2004-04-10 devnull .PP
12 cfa37a7b 2004-04-10 devnull .B
13 cfa37a7b 2004-04-10 devnull long readn(int fd, void *buf, long nbytes)
14 cfa37a7b 2004-04-10 devnull .PP
15 cfa37a7b 2004-04-10 devnull .B
16 cfa37a7b 2004-04-10 devnull long write(int fd, void *buf, long nbytes)
17 cfa37a7b 2004-04-10 devnull .PP
18 cfa37a7b 2004-04-10 devnull .B
19 cfa37a7b 2004-04-10 devnull long pread(int fd, void *buf, long nbytes, vlong offset)
20 cfa37a7b 2004-04-10 devnull .PP
21 cfa37a7b 2004-04-10 devnull .B
22 cfa37a7b 2004-04-10 devnull long pwrite(int fd, void *buf, long nbytes, vlong offset)
23 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
24 cfa37a7b 2004-04-10 devnull .I Read
25 cfa37a7b 2004-04-10 devnull reads
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
29 cfa37a7b 2004-04-10 devnull .I fd
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
34 cfa37a7b 2004-04-10 devnull that all
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.
42 cfa37a7b 2004-04-10 devnull .PP
43 cfa37a7b 2004-04-10 devnull .I Readn
44 cfa37a7b 2004-04-10 devnull is just like read, but does successive
45 cfa37a7b 2004-04-10 devnull .I read
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.
50 cfa37a7b 2004-04-10 devnull .PP
51 cfa37a7b 2004-04-10 devnull .I Write
52 cfa37a7b 2004-04-10 devnull writes
53 cfa37a7b 2004-04-10 devnull .I nbytes
54 cfa37a7b 2004-04-10 devnull bytes of data starting at
55 cfa37a7b 2004-04-10 devnull .I buf
56 cfa37a7b 2004-04-10 devnull to the file associated with
57 cfa37a7b 2004-04-10 devnull .I fd
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.
63 cfa37a7b 2004-04-10 devnull .PP
64 cfa37a7b 2004-04-10 devnull .I Pread
65 cfa37a7b 2004-04-10 devnull and
66 cfa37a7b 2004-04-10 devnull .I Pwrite
67 cfa37a7b 2004-04-10 devnull equivalent to a
68 d32deab1 2020-08-16 rsc .MR seek (3)
69 cfa37a7b 2004-04-10 devnull to
70 cfa37a7b 2004-04-10 devnull .I offset
71 cfa37a7b 2004-04-10 devnull followed by a
72 cfa37a7b 2004-04-10 devnull .I read
73 cfa37a7b 2004-04-10 devnull or
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
77 cfa37a7b 2004-04-10 devnull (see
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 d32deab1 2020-08-16 rsc .MR intro (3) ,
87 bf8a59fa 2004-04-11 devnull .IR open (3),
88 d32deab1 2020-08-16 rsc .MR dup (3) ,
89 d32deab1 2020-08-16 rsc .MR 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 .