V10/man/man2/lseek.2

Compare this file to the similar file:
Show the results in this format:

.TH LSEEK 2
.CT 2 file_io
.SH NAME
lseek, llseek \(mi seek, move read/write pointer
.SH SYNOPSIS
.B long lseek(fildes, offset, whence)
.br
.B long offset;
.PP
.B Long llseek(fildes, offset, whence)
.br
.B Long offset;
.SH DESCRIPTION
.I Lseek
and
.I llseek
set the file pointer for the file
associated with
.I fildes
as follows:
.IP
If
.I whence
is 0, the pointer is set to
.I offset
bytes.
.IP
If
.I whence
is 1, the pointer is set to its current location plus
.IR offset .
.IP
If
.I whence
is 2, the pointer is set to the size of the
file plus
.IR offset .
.PP
The new file pointer value is returned.
.PP
Type
.I Long
is a 64-bit quantity.
.PP
Seeking far beyond the end of a file, then writing,
creates a gap or `hole,' which occupies no
physical space and reads as zeros.
.SH "SEE ALSO"
.IR open (2),
.IR fseek (3)
.SH DIAGNOSTICS
.BR EBADF ,
.BR ESPIPE
.SH BUGS
.I Lseek
doesn't affect some special files.