Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lseek(2) — Ultrix-11 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)

creat(2)

fseek(3)

LSEEK(2)

NAME

lseek, tell − move read/write pointer

SYNOPSIS

long lseek(fildes, offset, whence)
long offset;

long tell(fildes)

DESCRIPTION

The file descriptor refers to a file open for reading or writing.  The read (resp. write) pointer for the file is set 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.

The returned value is the resulting pointer location. 

The obsolete function tell(fildes) is identical to lseek(fildes, 0L, 1).

Seeking far beyond the end of a file, then writing, creates a gap or ’hole’, which occupies no physical space and reads as zeros. 

RETURN VALUE

Upon successful completion, the new file offset is returned.  Otherwise, a value of -1 is returned and errno is set to indicate the error. 

DIAGNOSTICS

Lseek will fail and the file pointer will remain unchanged if:

[EBADF] Fildes is not an open file descriptor. 

[ESPIPE] Fildes is associated with a pipe. 

RESTRICTIONS

Lseek is a no-op on character special files. 

SEE ALSO

open(2), creat(2), fseek(3)

ASSEMBLER

(lseek = 19.) 
(file descriptor in r0)
sys lseek; offset1; offset2; whence

Offset1 and offset2 are the high and low words of offset; r0 and r1 contain the pointer upon return.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026