about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/fcntl.h13
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/fcntl.h19
3 files changed, 31 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
index 1ed9944124..312cd08963 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -49,8 +49,10 @@
 # define O_NOFOLLOW	0200000	/* Do not follow links.  */
 #endif
 
+#ifdef __USE_LARGEFILE64
 /* Not necessary, files are always with 64bit off_t.  */
-#define O_LARGEFILE	0
+# define O_LARGEFILE	0
+#endif
 
 /* For now Linux has synchronisity options for data and read operations.
    We define the symbols here but let them do the same as O_SYNC since
diff --git a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
index 5ed6d76ef1..749becd7d5 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
@@ -40,8 +40,11 @@
 #define O_FSYNC		O_SYNC
 #define O_ASYNC		0x1000
 
-#ifdef __USE_GNU
+#ifdef __USE_LARGEFILE64
 # define O_LARGEFILE	0x2000	/* Allow large file opens.  */
+#endif
+
+#ifdef __USE_GNU
 # define O_NOFOLLOW	0x4000	/* Do not follow links.  */
 # define O_DIRECT	0x8000	/* Direct disk access hint.  */
 # define O_DIRECTORY	0x10000	/* Must be a directory.  */
@@ -49,6 +52,14 @@
 
 #define O_NDELAY	O_NONBLOCK
 
+/* For now Linux has no synchronisity options for data and read
+   operations.  We define the symbols here but let them do the same as
+   O_SYNC since this is a superset.  */
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
+# define O_DSYNC	O_SYNC	/* Synchronize data.  */
+# define O_RSYNC	O_SYNC	/* Synchronize read operations.  */
+#endif
+
 /* Values for the second argument to `fcntl'.  */
 #define F_DUPFD		0	/* Duplicate file descriptor.  */
 #define F_GETFD		1	/* Get file descriptor flags.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
index e42dfefef6..30fb0b78a8 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
@@ -37,11 +37,24 @@
 #define O_NONBLOCK	0x4000
 #define O_NDELAY	(0x0004 | O_NONBLOCK)
 #define O_NOCTTY	0x8000	/* not fcntl */
-#define O_DIRECTORY	0x10000 /* must be a directory */
-#define O_NOFOLLOW	0x20000 /* don't follow links */
 
+#ifdef __USE_GNU
+# define O_DIRECTORY	0x10000 /* must be a directory */
+# define O_NOFOLLOW	0x20000 /* don't follow links */
+#endif
+
+#ifdef __USE_LARGEFILE64
 /* XXX missing */
-#define O_LARGEFILE	0
+# define O_LARGEFILE	0
+#endif
+
+/* For now Linux has no synchronisity options for data and read
+   operations.  We define the symbols here but let them do the same as
+   O_SYNC since this is a superset.  */
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
+# define O_DSYNC	O_SYNC	/* Synchronize data.  */
+# define O_RSYNC	O_SYNC	/* Synchronize read operations.  */
+#endif
 
 /* Values for the second argument to `fcntl'.  */
 #define F_DUPFD		0	/* Duplicate file descriptor.  */