#include <unistd.h>
#include "syscall.h"
-#include "libc.h"
-off_t lseek(int fd, off_t offset, int whence)
+off_t __lseek(int fd, off_t offset, int whence)
{
- /* optimized away at compiletime */
- if (sizeof(long) == 8)
- return syscall3(__NR_lseek, fd, offset, whence);
- else {
- off_t result;
- return syscall5(__NR__llseek, fd, offset>>32, offset, (long)&result, whence) ? -1 : result;
- }
+#ifdef SYS__llseek
+ off_t result;
+ return syscall(SYS__llseek, fd, offset>>32, offset, &result, whence) ? -1 : result;
+#else
+ return syscall(SYS_lseek, fd, offset, whence);
+#endif
}
-LFS64(lseek);
+weak_alias(__lseek, lseek);