2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
2007-06-20 22:33:04 +00:00
|
|
|
.TH "<sys/uio.h>" 0P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" <sys/uio.h>
|
|
|
|
.SH NAME
|
|
|
|
sys/uio.h \- definitions for vector I/O operations
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fB#include <sys/uio.h> \fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fI<sys/uio.h>\fP header shall define the \fBiovec\fP structure
|
|
|
|
that includes at least the following members:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBvoid *iov_base \fP Base address of a memory region for input or output. \fB
|
|
|
|
size_t iov_len \fP The size of the memory pointed to by \fIiov_base.\fP \fB
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
The \fI<sys/uio.h>\fP header uses the \fBiovec\fP structure for scatter/gather
|
|
|
|
I/O.
|
|
|
|
.LP
|
|
|
|
The \fBssize_t\fP and \fBsize_t\fP types shall be defined as described
|
|
|
|
in \fI<sys/types.h>\fP.
|
|
|
|
.LP
|
|
|
|
The following shall be declared as functions and may also be defined
|
|
|
|
as macros. Function prototypes shall be provided.
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBssize_t readv(int, const struct iovec *, int);
|
|
|
|
ssize_t writev(int, const struct iovec *, int);
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
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 \fI<limits.h>\fP should always be used to learn
|
|
|
|
about the
|
|
|
|
limits instead of assuming a fixed value.
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
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 \fI<limits.h>\fP.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
2007-09-20 06:36:16 +00:00
|
|
|
\fI<limits.h>\fP, \fI<sys/types.h>\fP, the System Interfaces volume
|
2004-11-03 13:51:07 +00:00
|
|
|
of IEEE\ Std\ 1003.1-2001, \fIread\fP(), \fIwrite\fP()
|
|
|
|
.SH COPYRIGHT
|
|
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
|
|
event of any discrepancy between this version and the original IEEE and
|
|
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
|
|
is the referee document. The original Standard can be obtained online at
|
|
|
|
http://www.opengroup.org/unix/online.html .
|