2 @section @file{fcntl.h}
4 POSIX specification: @url{http://www.opengroup.org/susv3xbd/fcntl.h.html}
8 Portability problems fixed by Gnulib:
11 @samp{O_NOCTTY}, @samp{O_DSYNC}, @samp{O_NONBLOCK}, @samp{O_RSYNC},
12 @samp{O_SYNC}, @samp{O_DIRECTORY}, @samp{O_NOFOLLOW}, and
13 @samp{O_TTY_INIT} are not defined on some platforms.
16 @samp{O_BINARY}, @samp{O_TEXT} (not specified by POSIX, but essential for
17 portability to Woe32 platforms) are defined on some platforms but not on
21 @samp{O_DIRECT}, @samp{O_NDELAY}, @samp{O_NOATIME},
22 and @samp{O_NOLINKS} (not specified by POSIX) are defined
23 on some platforms but not on others.
26 @samp{FD_CLOEXEC} is not defined on some platforms:
30 @samp{AT_FDCWD}, @samp{AT_EACCESS}, @samp{AT_SYMLINK_NOFOLLOW},
31 @samp{AT_SYMLINK_FOLLOW}, and @samp{AT_REMOVEDIR}
32 are not defined on many platforms:
33 glibc 2.3.6, MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX
34 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
37 @samp{AT_FDCWD} is defined with a value too large for an @code{int} on some
42 Portability problems not fixed by Gnulib:
45 @samp{O_CLOEXEC} is not defined on some platforms. The gnulib
46 replacement is not atomic on these platforms.
49 @samp{O_SEARCH} and @samp{O_EXEC} are not defined
53 @samp{F_DUPFD}, @samp{F_DUPFD_CLOEXEC}, @samp{F_GETFD}, and
54 @samp{F_SETFD} are not defined on some platforms:
58 @samp{F_GETFL}, @samp{F_SETFL}, @samp{F_GETLK}, @samp{F_SETLK},
59 @samp{F_SETLOKW}, @samp{F_GETOWN}, and @samp{F_SETOWN} are not defined
63 @samp{POSIX_FADV_DONTNEED}, @samp{POSIX_FADV_NOREUSE},
64 @samp{POSIX_FADV_NORMAL}, @samp{POSIX_FADV_RANDOM},
65 @samp{POSIX_FADV_SEQUENTIAL}, and @samp{POSIX_FADV_WILLNEED} are not
66 defined on some platforms.