summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/sendfile64.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-28 03:18:23 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-28 03:18:23 +0000
commit675d62ac876ffe4719580d45b8c9469934ccf6d7 (patch)
treee666bd4a1d816842c070e4928715d66b82655fc2 /libc/sysdeps/linux/common/sendfile64.c
parentfd666fca933f7241ff75d06ff36c9282fd443335 (diff)
downloaduClibc-alpine-675d62ac876ffe4719580d45b8c9469934ccf6d7.tar.bz2
uClibc-alpine-675d62ac876ffe4719580d45b8c9469934ccf6d7.tar.xz
Merge from trunk.
Diffstat (limited to 'libc/sysdeps/linux/common/sendfile64.c')
-rw-r--r--libc/sysdeps/linux/common/sendfile64.c38
1 files changed, 7 insertions, 31 deletions
diff --git a/libc/sysdeps/linux/common/sendfile64.c b/libc/sysdeps/linux/common/sendfile64.c
index 9c7c0ad3c..ccaa8d202 100644
--- a/libc/sysdeps/linux/common/sendfile64.c
+++ b/libc/sysdeps/linux/common/sendfile64.c
@@ -1,15 +1,13 @@
/*
- * sendfile64 syscall. Copes with 64 bit and 32 bit machines
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+/* sendfile64 syscall. Copes with 64 bit and 32 bit machines
* and on 32 bit machines this sends things into the kernel as
* two 32-bit arguments (high and low 32 bits of length) that
* are ordered based on endianess. It turns out endian.h has
* just the macro we need to order things, __LONG_LONG_PAIR.
- *
- * Copyright (C) 2002 Erik Andersen <andersen@codepoet.org>
- *
- * This file is subject to the terms and conditions of the GNU
- * Lesser General Public License. See the file COPYING.LIB in
- * the main directory of this archive for more details.
*/
#include <features.h>
@@ -19,30 +17,8 @@
#include <stdint.h>
#include <sys/sendfile.h>
#include <sys/syscall.h>
+#include <bits/wordsize.h>
-#if defined __NR_sendfile64
-
-#if __WORDSIZE == 64 || (defined(__powerpc__) && defined (__UCLIBC_HAS_LFS__))
-/* For a 64 bit machine, life is simple... */
+#if defined __UCLIBC_HAS_LFS__ && defined __NR_sendfile64
_syscall4(ssize_t,sendfile64, int, out_fd, int, in_fd, __off64_t *, offset, size_t, count);
-
-#elif __WORDSIZE == 32
-
-#if defined __UCLIBC_HAS_LFS__
-_syscall4(ssize_t,sendfile64, int, out_fd, int, in_fd, __off64_t *, offset, size_t, count);
-#endif /* __UCLIBC_HAS_LFS__ */
-
-#else /* __WORDSIZE */
-#error Your machine is not 64 bit or 32 bit, I am dazed and confused.
-#endif /* __WORDSIZE */
-
-
-#else /* ! defined __NR_sendfile64 */
-
-ssize_t sendfile64 (int out_fd, int in_fd, __off64_t *offset, size_t count)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
#endif