diff options
author | Roland McGrath <roland@gnu.org> | 2002-06-05 08:56:41 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-06-05 08:56:41 +0000 |
commit | 7db20e36c819dc7b5973f724da43b778321ea62e (patch) | |
tree | c955fdbff29c041d481f090d345cbe4fff7b0636 /io | |
parent | 17d7201a97152b459fad11291de16cf0e6485cfa (diff) | |
download | glibc-7db20e36c819dc7b5973f724da43b778321ea62e.tar.gz glibc-7db20e36c819dc7b5973f724da43b778321ea62e.tar.xz glibc-7db20e36c819dc7b5973f724da43b778321ea62e.zip |
* io/Makefile (routines): Add sendfile and sendfile64.
(headers): Add sys/sendfile.h to the list. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it here. * sysdeps/unix/sysv/linux/sys/sendfile.h: Moved to ... * io/sys/sendfile.h: ... here. * sysdeps/generic/sendfile.c: New file. * sysdeps/generic/sendfile64.c: New file. * sysdeps/unix/sysv/linux/Versions (GLIBC_2.1, GLIBC_2.3): Move sendfile, sendfile64 to ... * io/Versions (GLIBC_2.1, GLIBC_2.3): ... here. * sysdeps/mach/hurd/sendfile.c: New file. * sysdeps/mach/hurd/sendfile64.c: New file. * sysdeps/mach/nanosleep.c: New file.
Diffstat (limited to 'io')
-rw-r--r-- | io/Makefile | 7 | ||||
-rw-r--r-- | io/Versions | 5 | ||||
-rw-r--r-- | io/sys/sendfile.h | 50 |
3 files changed, 59 insertions, 3 deletions
diff --git a/io/Makefile b/io/Makefile index 0c39fa859f..f1a619d0f7 100644 --- a/io/Makefile +++ b/io/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1992-1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1992-1999,2000,01,02 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ subdir := io headers := sys/stat.h bits/stat.h sys/statfs.h bits/statfs.h sys/vfs.h \ sys/statvfs.h bits/statvfs.h fcntl.h sys/fcntl.h bits/fcntl.h \ poll.h sys/poll.h bits/poll.h \ - utime.h ftw.h fts.h + utime.h ftw.h fts.h sys/sendfile.h routines := \ utime \ @@ -46,7 +46,8 @@ routines := \ unlink rmdir \ ftw ftw64 fts poll \ posix_fadvise posix_fadvise64 \ - posix_fallocate posix_fallocate64 + posix_fallocate posix_fallocate64 \ + sendfile sendfile64 # These routines will be omitted from the libc shared object. # Instead the static object files will be included in a special archive diff --git a/io/Versions b/io/Versions index eaf25d7b1e..b5626f3599 100644 --- a/io/Versions +++ b/io/Versions @@ -76,6 +76,7 @@ libc { open64; # s* + sendfile; statfs64; statvfs; statvfs64; } GLIBC_2.2 { @@ -84,6 +85,10 @@ libc { __open64; } + GLIBC_2.3 { + # s* + sendfile64; + } GLIBC_PRIVATE { # functions which have an additional interface since they are # cancelable. diff --git a/io/sys/sendfile.h b/io/sys/sendfile.h new file mode 100644 index 0000000000..0627c40464 --- /dev/null +++ b/io/sys/sendfile.h @@ -0,0 +1,50 @@ +/* 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. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _SYS_SENDFILE_H +#define _SYS_SENDFILE_H 1 + +#include <features.h> +#include <sys/types.h> + +__BEGIN_DECLS + +/* Send COUNT bytes from file associated with IN_FD starting at OFFSET to + descriptor OUT_FD. */ +#ifndef __USE_FILE_OFFSET64 +extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *__offset, + 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 + +#endif /* sys/sendfile.h */ |