|
NAME
| |
read, readn, write, pread, pwrite – read or write file
|
SYNOPSIS
| |
#include <u.h>
#include <libc.h>
long read(int fd, void *buf, long nbytes)
long readn(int fd, void *buf, long nbytes)
long write(int fd, void *buf, long nbytes)
long pread(int fd, void *buf, long nbytes, vlong offset)
long pwrite(int fd, void *buf, long nbytes, vlong offset)
|
DESCRIPTION
| |
Read reads nbytes bytes of data from the offset in the file associated
with fd into memory at buf. The offset is advanced by the number
of bytes read. It is not guaranteed that all nbytes bytes will
be read; for example if the file refers to the console, at most
one line will be returned. In any event the number of bytes read
is returned. A return value of 0 is
conventionally interpreted as end of file.
Readn is just like read, but does successive read calls until
nbytes have been read, or a read system call returns a non-positive
count.
Write writes nbytes bytes of data starting at buf to the file
associated with fd at the file offset. The offset is advanced
by the number of bytes written. The number of characters actually
written is returned. It should be regarded as an error if this
is not the same as requested.
Pread and Pwrite equivalent to a seek(3) to offset followed by
a read or write. By combining the operations in a single atomic
call, they more closely match the 9P protocol (see intro(9p))
and, more important, permit multiprocess programs to execute multiple
concurrent read and write operations on the same file descriptor
without interference.
|
SOURCE
SEE ALSO
DIAGNOSTICS
| |
These functions set errstr.
|
|
|