| LSEEK(2V) | 21 January 1990 | LSEEK(2V) |
| NAME |
| lseek, tell - move read/write pointer |
| SYNOPSIS |
|
|
| DESCRIPTION |
|
lseek() sets the seek pointer associated with the open file or device referred to by the descriptor fd according to the value supplied for whence. whence must be one of the following constants defined in <unistd.h>:
If whence is SEEK_SET, the seek pointer is set to offset bytes. If whence is SEEK_CUR, the seek pointer is set to its current location plus offset. If whence is SEEK_END, the seek pointer is set to the size of the file plus offset. Some devices are incapable of seeking. The value of the seek pointer associated with such a device is undefined. The obsolete function tell(fd) is equivalent to lseek(fd, 0L, SEEK_CUR). |
| RETURN |
|
On success, lseek() returns the seek pointer location as measured in bytes from the beginning of the file. On failure, it returns -1 and sets errno to indicate the error. |
| ERRORS |
|
lseek() will fail and the seek pointer will remain unchanged if:
|
| SEE |
| NOTES |
|
Seeking far beyond the end of a file, then writing, may create a gap or (hole), which occupies no physical space and reads as zeros. The constants L_SET, L_INCR, and L_XTND are provided as synonyms for SEEK_SET, SEEK_CUR, and SEEK_END, respectively for backward compatibility but they will disappear in a future release. It is unlikely that the underlying constants 0, 1 and 2 will ever change. |
| LSEEK(2V) | 21 January 1990 | LSEEK(2V) |