|
@@ -1,4 +1,5 @@
|
|
-/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
|
|
+/* sendfile -- copy data directly from one file descriptor to another
|
|
|
|
+ Copyright (C) 1998,99,01,2002 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
This file is part of the GNU C Library.
|
|
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
@@ -22,16 +23,30 @@
|
|
#include <features.h>
|
|
#include <features.h>
|
|
#include <sys/types.h>
|
|
#include <sys/types.h>
|
|
|
|
|
|
-#ifdef __USE_FILE_OFFSET64
|
|
|
|
-# error "<sys/sendfile.h> cannot be used with _FILE_OFFSET_BITS=64"
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
__BEGIN_DECLS
|
|
__BEGIN_DECLS
|
|
|
|
|
|
-/* Send COUNT bytes from file associated with IN_FD starting at OFFSET to
|
|
+/* Send up to COUNT bytes from file associated with IN_FD starting at
|
|
- descriptor OUT_FD. */
|
|
+ *OFFSET to descriptor OUT_FD. Set *OFFSET to the IN_FD's file position
|
|
-extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *offset,
|
|
+ following the read bytes. If OFFSET is a null pointer, use the normal
|
|
|
|
+ file position instead. Return the number of written bytes, or -1 in
|
|
|
|
+ case of error. */
|
|
|
|
+#ifndef __USE_FILE_OFFSET64
|
|
|
|
+extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *__offset,
|
|
size_t __count) __THROW;
|
|
size_t __count) __THROW;
|
|
|
|
+#else
|
|
|
|
+# ifdef __REDIRECT
|
|
|
|
+extern ssize_t __REDIRECT (sendfile,
|
|
|
|
+ (int __out_fd, int __in_fd, __off64_t *__offset,
|
|
|
|
+ size_t __count) __THROW,
|
|
|
|
+ sendfile64);
|
|
|
|
+# else
|
|
|
|
+# define sendfile sendfile64
|
|
|
|
+# endif
|
|
|
|
+#endif
|
|
|
|
+#ifdef __USE_LARGEFILE64
|
|
|
|
+extern ssize_t sendfile64 (int __out_fd, int __in_fd, __off64_t *__offset,
|
|
|
|
+ size_t __count) __THROW;
|
|
|
|
+#endif
|
|
|
|
|
|
__END_DECLS
|
|
__END_DECLS
|
|
|
|
|