Open System Services System Calls Reference Manual (G06.28+, H06.05+)
System Functions (k - m) lseek64(2)
NAME
lseek64 - Sets file offset for read or write operation
LIBRARY
G-series native OSS processes: system library
H-series OSS processes: implicit libraries
SYNOPSIS
#include <sys/types.h> /* optional except for POSIX.1 */
#include <unistd.h>
off64_t lseek64(
int filedes,
off64_t offset,
int whence);
PARAMETERS
filedes Specifies an open file descriptor obtained from a successful call to the accept(),
creat(), creat64(), dup( ), dup2(), fcntl( ), open(), open64(), pipe(), socket(),
or socketpair() function.
offset Specifies a value, in bytes, that is used with the whence parameter to set the file
pointer. A negative value causes seeking in the reverse direction.
whence Specifies how to interpret the offset parameter in setting the file pointer associ-
ated with the filedes parameter. Values for the whence parameter are:
SEEK_CUR Sets the file pointer to its current location plus the value of the
offset parameter.
SEEK_END Sets the file pointer to the size of the file plus the value of the
offset parameter.
SEEK_SET Sets the file pointer to the value of the offset parameter.
DESCRIPTION
The lseek64() function is similar to the lseek() function except that, in addition to supporting
smaller files, the lseek64() function supports OSS files larger than approximately 2 gigabytes.
An application can explicitly call this function you compile the application using the #define
_LARGEFILE64_SOURCE 1 feature test macro or an equivalent compiler command option.
An application call to lseek() is automatically mapped to this function when you compile the
application using the #define _FILE_OFFSET_BITS 64 feature test macro or an equivalent
compiler command option.
The lseek64() function sets the file offset for the open file specified by the filedes parameter. The
whence parameter determines how the offset is to be interpreted.
The lseek64() function allows the file offset to be set beyond the end of existing data in the file.
If data is later written at this point, subsequent reading of data in the gap returns bytes with the
value 0 (zero) until data is actually written into the gap.
The lseek64() function does not, by itself, extend the size of the file.
RETURN VALUES
Upon successful completion, the resulting pointer location, measured in bytes from the beginning
of the file, is returned. For First-in, First-out (FIFO) files, pipes, and character special files, the
value 0 (zero) is returned. For character special files, errno is not set.
527186-007 Hewlett-Packard Company 4−27