summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/unix/sysv/linux/Versions2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/i386/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h4
11 files changed, 45 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 792dd98760..9f5ff8874d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2006-04-14 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/syscalls.list: Add tee syscall.
+ * sysdeps/unix/sysv/linux/Versions: Export tee@GLIBC_2.5.
+ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Add prototype for tee.
+ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
+
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_parse_etherent):
Minor cleanups. NUL terminate name string.
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index b2e7ee7801..ad7a8701fd 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;
+ splice; sync_file_range; tee;
}
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 f06201c25f..6898fe8743 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -204,6 +204,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
index 6311f1fbad..a375888106 100644
--- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
@@ -211,6 +211,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
index 630cb10ffb..63a771ddb9 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
@@ -205,6 +205,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
index 7f53b1dad5..2219271a1b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
@@ -211,6 +211,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
index e951b631cd..ad3ef420a1 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
@@ -230,6 +230,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
index 6311f1fbad..a375888106 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
@@ -211,6 +211,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
index 4a158e2619..b3788f0daf 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
@@ -230,6 +230,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index ab4ba754a7..6bfccd26aa 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -74,6 +74,7 @@ splice EXTRA splice i:iiii splice
sysinfo EXTRA sysinfo i:p sysinfo
swapon - swapon i:si __swapon swapon
swapoff - swapoff i:s __swapoff swapoff
+tee EXTRA tee i:iiii tee
unshare EXTRA unshare i:i unshare
uselib EXTRA uselib i:s uselib
wait4 - wait4 i:iWiP __wait4 wait4
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
index f7e5d16e8b..2351737f7c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
@@ -225,6 +225,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
+/* In-kernel implementation of tee for pipe buffers. */
+extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+ __THROW;
+
#endif
__END_DECLS