about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-03-31 21:50:22 +0000
committerUlrich Drepper <drepper@redhat.com>2006-03-31 21:50:22 +0000
commit1329b60176b59b185ad71fc87a86dd0cf9cff21b (patch)
treed1931dc79ac17a39e9630e017a08d365b831e5d0 /sysdeps/unix/sysv/linux/sh
parent92d12cd75e8a09e0ab9092d0f212c4cf86118bb3 (diff)
downloadglibc-1329b60176b59b185ad71fc87a86dd0cf9cff21b.tar.gz
glibc-1329b60176b59b185ad71fc87a86dd0cf9cff21b.tar.xz
glibc-1329b60176b59b185ad71fc87a86dd0cf9cff21b.zip
* sysdeps/unix/sysv/linux/Versions: Export sync_file_range with
	GLIBC_2.5.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Remove
	LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT.
	Declare sync_file_range and splice.
	* 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.
	* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add
	sync_file_range.
	* sysdeps/unix/sysv/linux/i386/sync_file_range.S: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh')
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/fcntl.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
index 8c9159f0fd..6311f1fbad 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
@@ -180,16 +180,37 @@ struct flock64
 # define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
 #endif
 
-/* Linux-specific operations for posix_fadvise.  */
+
 #ifdef __USE_GNU
-# define LINUX_FADV_ASYNC_WRITE	32 /* Start writeout on range.  */
-# define LINUX_FADV_WRITE_WAIT	33 /* Wait upon writeout to range.  */
+# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
+					     in the range before performing the
+					     write.  */
+# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those
+					     dirty pages in the range which are
+					     not presently under writeback.  */
+# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in
+					     the range after performing the
+					     write.  */
 #endif
 
 __BEGIN_DECLS
 
+#ifdef __USE_GNU
+
 /* Provide kernel hint to read ahead.  */
 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
     __THROW;
 
+
+/* Selective file content synch'ing.  */
+extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
+			    unsigned int __flags);
+
+
+/* Splice two files together.  */
+extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
+    __THROW;
+
+#endif
+
 __END_DECLS