xref: /minix/minix/lib/libc/sys/lseek.c (revision 83133719)
1 #include <sys/cdefs.h>
2 #include "namespace.h"
3 #include <lib.h>
4 
5 #include <string.h>
6 #include <minix/u64.h>
7 #include <unistd.h>
8 
9 #ifdef __weak_alias
10 __weak_alias(lseek, _lseek)
11 #endif
12 
13 off_t
14 lseek(int fd, off_t offset, int whence)
15 {
16   message m;
17 
18   memset(&m, 0, sizeof(m));
19   m.m_lc_vfs_lseek.fd = fd;
20   m.m_lc_vfs_lseek.offset = offset;
21   m.m_lc_vfs_lseek.whence = whence;
22   if (_syscall(VFS_PROC_NR, VFS_LSEEK, &m) < 0) return( (off_t) -1);
23   return(m.m_vfs_lc_lseek.offset);
24 }
25