From 0ad70fc14340d1e3ac2976014766c6eb6d5d3715 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 27 Apr 2006 21:29:55 +0000 Subject: Updated to fedora-glibc-20060427T2122 --- sysdeps/unix/sysv/linux/Versions | 2 +- sysdeps/unix/sysv/linux/alpha/bits/fcntl.h | 8 +++++++- sysdeps/unix/sysv/linux/bits/uio.h | 10 +++++++--- sysdeps/unix/sysv/linux/i386/bits/fcntl.h | 9 ++++++++- sysdeps/unix/sysv/linux/ia64/bits/fcntl.h | 7 +++++++ sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h | 9 ++++++++- sysdeps/unix/sysv/linux/s390/bits/fcntl.h | 8 ++++++++ sysdeps/unix/sysv/linux/sh/bits/fcntl.h | 9 ++++++++- sysdeps/unix/sysv/linux/sparc/bits/fcntl.h | 7 +++++++ sysdeps/unix/sysv/linux/syscalls.list | 1 + sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h | 9 ++++++++- 11 files changed, 70 insertions(+), 9 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index ad7a8701fd..7c015b1d62 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -124,7 +124,7 @@ libc { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } GLIBC_2.5 { - splice; sync_file_range; tee; + splice; sync_file_range; tee; vmsplice; } GLIBC_PRIVATE { # functions used in other libraries diff --git a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h index 6898fe8743..4a20f1d673 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h @@ -21,8 +21,10 @@ # error "Never use directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files @@ -200,6 +202,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/bits/uio.h b/sysdeps/unix/sysv/linux/bits/uio.h index 84b4805fe8..6a283ed771 100644 --- a/sysdeps/unix/sysv/linux/bits/uio.h +++ b/sysdeps/unix/sysv/linux/bits/uio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2006 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 @@ -16,10 +16,12 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef _SYS_UIO_H +#if !defined _SYS_UIO_H && !defined _FCNTL_H # error "Never include directly; use instead." #endif +#ifndef _BITS_UIO_H +#define _BITS_UIO_H 1 #include @@ -31,7 +33,7 @@ /* Size of object which can be written atomically. This macro has different values in different kernel versions. The - latest versions of ther kernel use 1024 and this is good choice. Since + latest versions of the kernel use 1024 and this is good choice. Since the C library implementation of readv/writev is able to emulate the functionality even if the currently running kernel does not support this large value the readv/writev call will not fail because of this. */ @@ -44,3 +46,5 @@ struct iovec void *iov_base; /* Pointer to data. */ size_t iov_len; /* Length of data. */ }; + +#endif diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h index a375888106..82f06332be 100644 --- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h index 63a771ddb9..1d684ad367 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h @@ -23,6 +23,9 @@ #include +#ifdef __USE_GNU +# include +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -201,6 +204,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h index 2219271a1b..2843c6e9cc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h index ad3ef420a1..7a9aa5738e 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h @@ -23,6 +23,10 @@ #include #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -226,6 +230,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h index a375888106..82f06332be 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h index b3788f0daf..e8cc3987e3 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h @@ -24,6 +24,9 @@ #include #include +#ifdef __USE_GNU +# include +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -226,6 +229,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 6bfccd26aa..969d054c62 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -77,6 +77,7 @@ swapoff - swapoff i:s __swapoff swapoff tee EXTRA tee i:iiii tee unshare EXTRA unshare i:i unshare uselib EXTRA uselib i:s uselib +vmsplice EXTRA vmsplice i:iPii vmsplice wait4 - wait4 i:iWiP __wait4 wait4 chown - chown i:sii __libc_chown __chown chown diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h index 2351737f7c..ad4c1443e4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h @@ -21,9 +21,12 @@ # error "Never use directly; include instead." #endif - #include #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -221,6 +224,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; -- cgit v1.2.3