summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-01-17 15:47:04 +0000
committerEric Andersen <andersen@codepoet.org>2002-01-17 15:47:04 +0000
commit0e4cf8c30079e273e9a79bee1f18c133927650a6 (patch)
tree1efa7abf26e1ab70cd48e06d4215e419ce4dd522 /libc/sysdeps/linux
parent23457259675d4a21f6840a30e2b41014540eab2d (diff)
Enable fcntl64, and fix fcntl when large fils is enabled.
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r--libc/sysdeps/linux/common/syscalls.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index 2059c9875..ddadc3134 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -1533,6 +1533,29 @@ _syscall3(int, getdents64, int, fd, char *, dirp, size_t, count);
#endif /* __UCLIBC_HAVE_LFS__ */
//#define __NR_fcntl64 221
+#ifdef __UCLIBC_HAVE_LFS__
+#define __NR__fcntl64 __NR_fcntl64
+#ifdef L__fcntl64
+#include <stdarg.h>
+#include <fcntl.h>
+extern int _fcntl64(int fd, int cmd, long arg);
+
+_syscall3(int, _fcntl64, int, fd, int, cmd, long, arg);
+
+int fcntl64(int fd, int command, ...)
+{
+ long arg;
+ va_list list;
+
+ va_start(list, command);
+ arg = va_arg(list, long);
+
+ va_end(list);
+ return _fcntl64(fd, command, arg);
+}
+#endif
+#endif
+
//#define __NR_security 223 /* syscall for security modules */
//#define __NR_gettid 224
//#define __NR_readahead 225