READV
Section: Linux Programmer's Manual (3)
Updated: April 25, 1993
Index
Return to Main Contents
NAME
readv, writev - read or write data into multiple buffers
SYNOPSIS
#include <sys/uio.h>
int readv(int filedes, const struct iovec *vector,
size_t count);
int writev(int filedes, const struct iovec *vector,
size_t count);
DESCRIPTION
The
readv()
function reads
count
blocks from the file associated with the file descriptor
filedes
into the multiple buffers described by
vector.
The
writev()
function writes at most
count
blocks described by
vectortothefileassociatedwiththefiledescriptor
vector.
The pointer vector points to a
struct iovec
defined in
<sys/uio.h>
as
struct iovect
{
void *iovbase; /* Starting address */
size_t iov_len; /* Number of bytes */
} ;
Buffers are processed in the order
vector[0], vector[1], ... vector[count].
The
readv()
function works just like
read(2)
except that multiple buffers are filled.
The
writev()
function works just like
write(2)
except that multiple buffers are written out.
RETURN VALUES
The
readv()
function returns the number of bytes or -1 on error; the
writev()
function returns the number of bytes written.
ERRORS
The
readv()
and
writev()
functions can fail and set
errno
to the following values:
- EBADF
-
fd
is not a valid file descriptor.
- EINVAL
-
fd
is unsuitable for reading (for
readv()
or writing
writev().
- EFAULT
-
buf
is outside the processes' address space.
- EAGAIN
-
Non-blocking I/O had been selected in the
open()
call, and reading or writing could not be done immediately.
- EINTR
-
Reading or writing was interrupted before any data was transferred.
CONFORMS TO
unknown
BUGS
It is not advisable to mix calls to functions like
readv() or writev(),
which operate on file descriptors, with the functions from the stdio
library; the results will be undefined and probably not what you want.
SEE ALSO
read(2), write(2)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUES
-
- ERRORS
-
- CONFORMS TO
-
- BUGS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 12:24:04 GMT, March 22, 2025