LSEEK(2)
NAME
lseek − move read/write file pointer; seek
SYNOPSIS
#include <sys/types.h>
#include <unistd.h> off_t lseek (fildes, offset, whence)
int fildes;
off_t offset;
int whence;
DESCRIPTION
Lseek sets the file pointer associated with the file descriptor as follows:
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>.
RETURN VALUE
When lseek completes successfully, it returns a non-negative 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.
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 or FIFO.
[EINVAL and SIGSYS signal]
Whence is not one of the supported values.
[EINVAL] The resulting file offset would be negative.
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), open(2), unistd(5).
STANDARDS CONFORMANCE
lseek: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989