http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter8.html
It returns the number
read, or -1 on error. #include "syscalls.h"
/*get: read n bytes from position pos */
int get(int fd, long pos, char *buf, int n)
{
if (lseek(fd, pos, 0) > = 0) /* get to pos */
return read(fd, buf, n);
else
return -1;
} The return value from lseek is a long that gives the new position in
the file, or -1 if an error occurs.