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.