lseek(2) lseek(2) NAME lseek - move read/write file pointer; seek SYNOPSIS #include <unistd.h> off_t lseek(int fildes, off_t offset, int whence); DESCRIPTION lseek() sets the file pointer associated with the file descriptor as follows: o If whence is SEEK_SET, the pointer is set to offset bytes. o If whence is SEEK_CUR, the pointer is set to its current location plus offset. o If whence is SEEK_END, the pointer is set to the size of the file plus offset. These symbolic constants are defined in <unistd.h>. RETURN VALUE When lseek() completes successfully, it returns an integer, which is the resulting file offset as measured in bytes from the beginning of the file. Otherwise, a value of -1 is returned and errno is set to indicate the error. For all files that are not character or block special files, the integer returned on successful completion is non-negative. For character or block special files that correspond to disk sections larger than 2 gigabytes, a non-negative integer is returned for successful seeks beyond 2 gigabytes. This value is the resulting file offset as measured in bytes from the beginning of the file, when taken as an unsigned value. -1 always indicates an error return, even when encountered on greater than 2 gigabyte disk sections. ERRORS lseek() fails and the file offset remains unchanged if one or more of the following is true: [EBADF] fildes is not an open file descriptor. [ESPIPE] fildes is associated with a pipe, socket, or FIFO. [EINVAL] whence is not one of the supported values. [EINVAL] The resulting file offset would be negative. [EINVAL] The resulting file offset would be a value which cannot be represented correctly in an object of type off_t. Hewlett-Packard Company - 1 - HP-UX Release 10.20: July 1996 lseek(2) lseek(2) WARNINGS Some devices are incapable of seeking. The value of the file offset associated with such a device is undefined. Using lseek() with a whence of SEEK_END on device special files is not supported and the results are not defined. SEE ALSO creat(2), dup(2), fcntl(2), lseek64(2), open(2), unistd(5). STANDARDS CONFORMANCE lseek(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1 Hewlett-Packard Company - 2 - HP-UX Release 10.20: July 1996