The readv function is equivalent to read, but places the input data into the iovcnt buffers specified by the members of the iov array: iov[0], iov[1], ..., iov[iovcnt-1]. The iovcnt argument is valid if it is greater than 0 and less than or equal to IOV_MAX. Each iovec entry specifies the base address and length of an area in memory where data should be placed. The readv function always fills an area completely before proceeding to the next. Upon successful completion, readv marks for update the st_atime field of the file. If the Synchronized Input and Output option is supported: If the O_DSYNC and O_RSYNC bits have been set, read I/O operations on the file descriptor will complete as defined by synchronized I/O data integrity completion. If the O_SYNC and O_RSYNC bits have been set, read I/O operations on the file descriptor will complete as defined by synchronized I/O file integrity completion. If the Shared Memory Objects option is supported: If file_desc refers to a shared memory object, the result of the read function is unspecified. For regular files, no data transfer occurs past the offset maximum established in the open file description associated with file_desc.