UIO.H(7) Miscellaneous Information Manual UIO.H(7)

sys/uio.hdefinitions for vector I/O operations


#include <sys/uio.h>

The <sys/uio.h> header shall define the iovec structure that includes at least the following members:

void   *iov_base  Base address of a memory region for input or output.
size_t  iov_len   The size of the memory pointed to by iov_base.

The <sys/uio.h> header uses the iovec structure for scatter/gather I/O.

The and types shall be defined as described in <sys/types.h>.

The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

ssize_t readv(int, const struct iovec *, int);
ssize_t writev(int, const struct iovec *, int);

The implementation can put a limit on the number of scatter/gather elements which can be processed in one call. The symbol {IOV_MAX} defined in <limits.h> should always be used to learn about the limits instead of assuming a fixed value.

Traditionally, the maximum number of scatter/gather elements the system can process in one call were described by the symbolic value {UIO_MAXIOV}. In IEEE Std 1003.1-2001 (“POSIX.1”) this value is replaced by the constant {IOV_MAX} which can be found in <limits.h>.

None.

<limits.h>, <sys/types.h>, the System Interfaces volume of IEEE Std 1003.1-2001 (“POSIX.1”), read(3), write(3)

First released in Issue 4, Version 2.

Text referring to scatter/gather I/O is added to the DESCRIPTION.

footer end

January 1, 2004 posix.fail