From 7c3b5b935d6542b5d9d36e10fb18a7b937bd20d2 Mon Sep 17 00:00:00 2001
From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Date: Wed, 17 Sep 2008 11:45:37 +0000
Subject: avr32: add defines and prototype function for sync_file_range syscall

This patch adds the needed defines and function prototype for the
sync_file_range syscall on AVR32 architecture.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
---
 libc/sysdeps/linux/avr32/bits/fcntl.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

(limited to 'libc')

diff --git a/libc/sysdeps/linux/avr32/bits/fcntl.h b/libc/sysdeps/linux/avr32/bits/fcntl.h
index 3bf4e1ac8..6dcb61ba7 100644
--- a/libc/sysdeps/linux/avr32/bits/fcntl.h
+++ b/libc/sysdeps/linux/avr32/bits/fcntl.h
@@ -169,6 +169,17 @@ struct flock64 {
 
 #ifdef __USE_GNU
 
+/* Flags for SYNC_FILE_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 */
+
 /* Flags for splice() and vmsplice() */
 # define SPLICE_F_MOVE		1	/* Move pages instead of copying */
 # define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing
@@ -179,6 +190,10 @@ struct flock64 {
 
 __BEGIN_DECLS
 
+/* Selective file content synch'ing */
+extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
+			    unsigned int __flags);
+
 /* Splice address range into a pipe */
 extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
 			 size_t __count, unsigned int __flags);
-- 
cgit v1.2.3