Do not block on I/O; see
for further details.
Currently has no effect for
but may be implemented in the future; see
The user pages are a gift to the kernel.
The application may not modify this memory ever,
or page cache and on-disk data may differ.
Gifting pages to the kernel means that a subsequent
can successfully move the pages;
if this flag is not specified, then a subsequent
must copy the pages.
Data must also be properly page aligned, both in memory and length.
Upon successful completion,
returns the number of bytes transferred to the pipe.
returns -1 and
is set to indicate the error.
either not valid, or doesn't refer to a pipe.
is 0 or greater than
or memory not aligned if
Out of memory.
system call first appeared in Linux 2.6.17.
This system call is Linux-specific.
follows the other vectorized read/write type functions when it comes to
limitations on number of segments being passed in.
This limit is
as defined in
At the time of this writing, that limit is 1024.