LSEEK(2) LSEEK(2)
NAME
lseek - move read/write file pointer
SYNOPSIS
long lseek (fildes, offset, whence)
int fildes;
long offset;
int whence;
DESCRIPTION
Fildes is a file descriptor returned from a creat, open,
dup, or fcntl system call. lseek sets the file pointer
associated with fildes as follows:
If whence is 0, the pointer is set to offset bytes.
If whence is 1, the pointer is set to its current
location plus offset.
If whence is 2, the pointer is set to the size of the
file plus offset.
Upon successful completion, the resulting pointer location,
as measured in bytes from the beginning of the file, is
returned. Note that if fildes is a remote file descriptor
and offset is negative, lseek will return the file pointer
even if it is negative.
lseek will fail and the file pointer will remain unchanged
if one or more of the following are 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 0, 1, or 2.
[EINVAL] Fildes is not a remote file descriptor, and
the resulting file pointer would be negative.
Page 1 May 1989
LSEEK(2) LSEEK(2)
Some devices are incapable of seeking. The value of the
file pointer associated with such a device is undefined.
SEE ALSO
creat(2), dup(2), fcntl(2), open(2).
DIAGNOSTICS
Upon successful completion, a non-negative integer
indicating the file pointer value is returned. Otherwise, a
value of -1 is returned and errno is set to indicate the
error.
Page 2 May 1989