lseek - move read/write file pointer; seek
off_t lseek(int fildes, off_t offset, int whence);
lseek() sets the file pointer associated with the file descriptor as
+ If whence is SEEK_SET, the pointer is set to offset bytes.
+ If whence is SEEK_CUR, the pointer is set to its current
location plus offset.
+ 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>>>>.
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. The lseek()
call succeeds for NFS directories even if the resulting file offset
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.
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
[EINVAL] The resulting file offset would be a value which cannot
be represented correctly in an object of type off_t.
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.
creat(2), dup(2), fcntl(2), lseek64(2), open(2), unistd(5).
lseek(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000