The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The IEEE and The Open Group

#### NAME

> sys/uio.h - definitions for vector I/O operations

#### SYNOPSIS

> `[XSI] #include <sys/uio.h>`

#### DESCRIPTION

> The <sys/uio.h> header shall define the iovec structure, which shall include 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 <sys/uio.h> header shall define the ssize_t and size_t types 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 following sections are informative.

#### APPLICATION USAGE

> 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.

#### RATIONALE

> 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 this value is replaced by the constant {IOV_MAX} which can be found in <limits.h>.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> <limits.h>, <sys/types.h>

> XSH read, readv, write, writev

#### CHANGE HISTORY

> First released in Issue 4, Version 2.

#### Issue 6

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

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]