0dab2679196e9c840d1f85034ca8a09f39a36139
[musl] / src / unistd / lseek.c
1 #include <unistd.h>
2 #include "syscall.h"
3 #include "libc.h"
4
5 off_t lseek(int fd, off_t offset, int whence)
6 {
7         /* optimized away at compiletime */
8         if (sizeof(long) == 8)
9                 return syscall3(__NR_lseek, fd, offset, whence);
10         else {
11                 off_t result;
12                 return syscall5(__NR__llseek, fd, offset>>32, offset, (long)&result, whence) ? -1 : result;
13         }
14 }
15
16 LFS64(lseek);