|
|
1.1 ! root 1: .\" Copyright (c) 1980 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)lseek.2 6.3 (Berkeley) 2/24/86 ! 6: .\" ! 7: .TH LSEEK 2 "February 24, 1986" ! 8: .UC 4 ! 9: .SH NAME ! 10: lseek \- move read/write pointer ! 11: .SH SYNOPSIS ! 12: .nf ! 13: .ft B ! 14: #include <sys/file.h> ! 15: .PP ! 16: .nf ! 17: .ft B ! 18: .ta 1.25i 1.6i 1.8i ! 19: #define L_SET 0 /* set the seek pointer */ ! 20: #define L_INCR 1 /* increment the seek pointer */ ! 21: #define L_XTND 2 /* extend the file size */ ! 22: .PP ! 23: .ft B ! 24: pos = lseek(d, offset, whence) ! 25: off_t pos; ! 26: int d; ! 27: off_t offset; ! 28: int whence; ! 29: .fi ! 30: .ft R ! 31: .SH DESCRIPTION ! 32: The descriptor ! 33: .I d ! 34: refers to a file or device open for reading and/or writing. ! 35: .I Lseek ! 36: sets the file pointer of ! 37: .I d ! 38: as follows: ! 39: .IP ! 40: If ! 41: .I whence ! 42: is L_SET, the pointer is set to ! 43: .I offset ! 44: bytes. ! 45: .IP ! 46: If ! 47: .I whence ! 48: is L_INCR, the pointer is set to its current location plus ! 49: .IR offset . ! 50: .IP ! 51: If ! 52: .I whence ! 53: is L_XTND, the pointer is set to the size of the ! 54: file plus ! 55: .IR offset . ! 56: .PP ! 57: Upon successful completion, the resulting pointer location ! 58: as measured in bytes from beginning of the file is returned. ! 59: Some devices are incapable of seeking. The value of the pointer ! 60: associated with such a device is undefined. ! 61: .SH NOTES ! 62: Seeking far beyond the end of a file, then writing, ! 63: creates a gap or \*(lqhole\*(rq, which occupies no ! 64: physical space and reads as zeros. ! 65: .SH "RETURN VALUE ! 66: Upon successful completion, ! 67: the current file pointer value is returned. ! 68: Otherwise, ! 69: a value of \-1 is returned and \fIerrno\fP is set to indicate ! 70: the error. ! 71: .SH "ERRORS ! 72: .I Lseek ! 73: will fail and the file pointer will remain unchanged if: ! 74: .TP 15 ! 75: [EBADF] ! 76: .I Fildes ! 77: is not an open file descriptor. ! 78: .TP 15 ! 79: [ESPIPE] ! 80: .I Fildes ! 81: is associated with a pipe or a socket. ! 82: .TP 15 ! 83: [EINVAL] ! 84: .I Whence ! 85: is not a proper value. ! 86: .SH "SEE ALSO" ! 87: dup(2), open(2) ! 88: .SH BUGS ! 89: This document's use of ! 90: .I whence ! 91: is incorrect English, but maintained for historical reasons.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.