1 #define _FILE_OFFSET_BITS 64
9 int main(int argc
, char* argv
[])
11 /* Arguments: fd [offset [whence]]
13 * fd: file descriptor to seek
14 * offset: number of bytes from position specified in whence
16 * SEEK_SET (==0): from start of file
17 * SEEK_CUR (==1): from current position
18 * SEEK_END (==2): from end of file
21 long long scan_offset
= 0;
23 int whence
= SEEK_SET
;
26 fprintf(stderr
, "usage: seekfd fd [offset [whence]]\n");
30 if (sscanf(argv
[1], "%d", &fd
) == EOF
) {
32 fprintf(stderr
, "%s: %s\n", argv
[0], strerror(errsv
));
37 rv
= sscanf(argv
[2], "%lld", &scan_offset
);
40 fprintf(stderr
, "%s: %s\n", argv
[0], strerror(errsv
));
43 offset
= (off_t
) scan_offset
;
46 if (sscanf(argv
[3], "%d", &whence
) == EOF
) {
48 fprintf(stderr
, "%s: %s\n", argv
[0], strerror(errsv
));
53 if (lseek(fd
, offset
, whence
) == (off_t
) -1) {
55 fprintf(stderr
, "%s: %s\n", argv
[0], strerror(errsv
));