Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-10-08 15:27:38 +0300
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-10-11 09:29:16 +0300
commitd3d838cc2630c416aff8d0b0d0bc1e44a5cf81dc (patch)
tree25cc36af6f498b8b8b1df0dec9a63fa3d625f9e2 /newlib
parent256f1171acb7b03afd33203d83fac4cc1536df1a (diff)
Make some standard open() flags visible
Make the POSIX O_CLOEXEC, O_NOFOLLOW, O_DIRECTORY, O_EXEC, and O_SEARCH open() flags available also to non-Cygwin systems. Make the BSD/glibc O_DIRECT open() flag available also to non-Cygwin systems. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Diffstat (limited to 'newlib')
-rw-r--r--newlib/libc/include/sys/_default_fcntl.h48
1 files changed, 27 insertions, 21 deletions
diff --git a/newlib/libc/include/sys/_default_fcntl.h b/newlib/libc/include/sys/_default_fcntl.h
index 33b462285..22fa10688 100644
--- a/newlib/libc/include/sys/_default_fcntl.h
+++ b/newlib/libc/include/sys/_default_fcntl.h
@@ -23,6 +23,19 @@ extern "C" {
#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */
#define _FNDELAY _FNONBLOCK /* non blocking I/O (4.2 style) */
#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */
+#if defined (__CYGWIN__)
+#define _FBINARY 0x10000
+#define _FTEXT 0x20000
+#endif
+#define _FNOINHERIT 0x40000
+#define _FDIRECT 0x80000
+#define _FNOFOLLOW 0x100000
+#define _FDIRECTORY 0x200000
+#define _FEXECSRCH 0x400000
+#if defined (__CYGWIN__)
+#define _FTMPFILE 0x800000
+#define _FNOATIME 0x1000000
+#endif
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
@@ -43,35 +56,28 @@ extern "C" {
/* O_NDELAY _FNBIO set in include/fcntl.h */
#define O_NONBLOCK _FNONBLOCK
#define O_NOCTTY _FNOCTTY
-/* For machines which care - */
-#if defined (__CYGWIN__)
-#define _FBINARY 0x10000
-#define _FTEXT 0x20000
-#define _FNOINHERIT 0x40000
-#define _FDIRECT 0x80000
-#define _FNOFOLLOW 0x100000
-#define _FDIRECTORY 0x200000
-#define _FEXECSRCH 0x400000
-#define _FTMPFILE 0x800000
-#define _FNOATIME 0x1000000
+/* POSIX-1.2008 specific flags */
+#if __POSIX_VISIBLE >= 200809
+#define O_CLOEXEC _FNOINHERIT
+#define O_NOFOLLOW _FNOFOLLOW
+#define O_DIRECTORY _FDIRECTORY
+#define O_EXEC _FEXECSRCH
+#define O_SEARCH _FEXECSRCH
+#endif
+
+#if __BSD_VISIBLE
+#define O_DIRECT _FDIRECT
+#endif
+
+#if defined (__CYGWIN__)
#define O_BINARY _FBINARY
#define O_TEXT _FTEXT
#define O_DSYNC _FSYNC
#define O_RSYNC _FSYNC
-#define O_EXEC _FEXECSRCH
-#define O_SEARCH _FEXECSRCH
-
-/* POSIX-1.2008 specific flags */
-#if __POSIX_VISIBLE >= 200809
-#define O_CLOEXEC _FNOINHERIT
-#define O_NOFOLLOW _FNOFOLLOW
-#define O_DIRECTORY _FDIRECTORY
-#endif
/* Linux-specific flags */
#if __GNU_VISIBLE
-#define O_DIRECT _FDIRECT
#define O_TMPFILE _FTMPFILE
#define O_NOATIME _FNOATIME
#endif