xref: /plan9-contrib/sys/src/ape/lib/ap/plan9/lseek.c (revision d9306527b4a7229dcf0cf3c58aed36bb9da82854)
1 #include "lib.h"
2 #include <unistd.h>
3 #include <errno.h>
4 #include "sys9.h"
5 
6 /*
7  * BUG: errno mapping
8  */
9 off_t
lseek(int d,off_t offset,int whence)10 lseek(int d, off_t offset, int whence)
11 {
12 	long long n;
13 	int flags;
14 
15 	flags = _fdinfo[d].flags;
16 	if(flags&(FD_BUFFERED|FD_BUFFEREDX|FD_ISTTY)) {
17 		errno = ESPIPE;
18 		return -1;
19 	}
20 	n = _SEEK(d, offset, whence);
21 	if(n < 0)
22 		_syserrno();
23 	return n;
24 }
25