|
|
1.1 root 1:
2:
3: lseek() COHERENT System Call lseek()
4:
5:
6:
7:
8: Set read/write position
9:
10: lloonngg llsseeeekk(_f_d, _w_h_e_r_e, _h_o_w)
11: iinntt _f_d, _h_o_w; lloonngg _w_h_e_r_e;
12:
13: llsseeeekk changes the _s_e_e_k _p_o_s_i_t_i_o_n, or the point within a file where
14: the next read or write operation is performed. fd is the file's
15: file descriptor, which is returned by ooppeenn.
16:
17: where and how describe the new seek position. where gives the
18: number of bytes that you wish to move the seek position; it is
19: measured from the beginning of the file if how is zero, from the
20: current seek position if how is one, or from the end of the file
21: if how is two. A successful call to lseek returns the new seek
22: position. For example,
23:
24:
25: position = lseek(filename, 100L, 0);
26:
27:
28: moves the seek position 100 bytes past the beginning of the file;
29: whereas
30:
31:
32: position = lseek(filename, 0L, 1);
33:
34:
35: merely returns the current seek position, and does not change the
36: seek position at all.
37:
38: Sparse files may be created by seeking beyond the current size of
39: the file and writing. The ``hole'' between the end of the file
40: and where the write occurs is read as zero and will occupy no
41: disk space. For example, if you llsseeeekk 10,000 bytes past the cur-
42: rent end of file and write a string, the data will be written
43: 10,000 bytes past the old end of file and all intervening matter
44: will be considered part of the file.
45:
46: lseek differs from its cousin fseek in that lseek is a system
47: call and uses a file descriptor, whereas fseek is a C function
48: and uses a FILE pointer.
49:
50: ***** See Also *****
51:
52: COHERENT system calls, STDIO
53:
54: ***** Diagnostics *****
55:
56: lseek returns -1L on an error, such as seeking to a negative
57: position. If no error occurs, it returns the new seek position.
58:
59: ***** Notes *****
60:
61: llsseeeekk is permitted on character-special files, but drivers do not
62:
63:
64: COHERENT Lexicon Page 1
65:
66:
67:
68:
69: lseek() COHERENT System Call lseek()
70:
71:
72:
73: generally implement it. As a result, seeking a terminal will not
74: generate an error but will have no discernible effect.
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130: COHERENT Lexicon Page 2
131:
132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.