summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
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/x86_64/bits/fcntl.h
parent92d12cd75e8a09e0ab9092d0f212c4cf86118bb3 (diff)
* 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/x86_64/bits/fcntl.h')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
index 712007c36c..f7e5d16e8b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
@@ -194,16 +194,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