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)10lseek(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