Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
lseek(2) OSS System Calls Reference Manual
NAME
lseek - Sets file offset for read or write operation
LIBRARY
G-series native OSS processes: system library
H-series and J-series OSS processes: implicit libraries
32-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/zputdll
64-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/yputdll
SYNOPSIS
#include <sys/types.h> /* optional except for POSIX.1 */
#include <unistd.h>
off_t lseek(
int filedes,
off_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.
When the function is thread-aware, specifies an open file descriptor obtained
from a successful call to the creat(), creat64(), dup(), open(), open64(),
pipe( ), socket(),orsocketpair() function, or the thread-aware accept(),
dup2( ),orfcntl( ) 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 lseek() 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 lseek() 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 lseek() function does not, by itself, extend the size of the file.
Use From a Threaded Application
This function serializes file operations on an open file. If a thread calls lseek() to access a file
that already has a file operation in progress by a different thread, this thread is blocked until the
prior file operation is complete.
4−22 Hewlett-Packard Company 527186-023