n The number of bytes read.
-1 Indicates a read error. The function sets
errno to one of the following values:
o EAGAIN - The O_NONBLOCK flag is set for the
file descriptor, and the process would be
delayed.
o EBADF - The file_desc argument is not a
valid file descriptor open for reading.
o EBADMSG - The file is a STREAM file that is
set to control-normal mode, and the message
waiting to be read includes a control part.
o EINTER - The read operation was terminated
because of the receipt of a signal, and no
data was transferred.
o EINVAL - The STREAM or multiplexer
referenced by file_desc is linked
(directly or indirectly) downstream from
a multiplexer.
OR
The sum of the iov_len values in the iov
array overflowed an ssize_t.
o EIO - A physical I/O error has occurred.
OR
The process is a member of a background
process attempting to read from its
controlling terminal, the process is
ignoring or blocking the SIGTTIN signal,
or the process group is orphaned.
o EISDIR - The file_desc argument refers to a
directory, and the implementation does not
allow the directory to be read using read,
pread or readv. Use the readdir function
instead.
o EOVERFLOW - The file is a regular file,
nbyte is greater than 0, and the starting
position is before the end-of-file and is
greater than or equal to the offset maximum
established in the open file description
associated with file_desc.
The readv function may fail if:
o EINVAL - The iovcnt argument was less than
or equal to 0, or greater than IOV_MAX.