@node fcntl.h
@section @file{fcntl.h}
-POSIX specification: @url{http://www.opengroup.org/susv3xbd/fcntl.h.html}
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html}
Gnulib module: fcntl-h
Portability problems fixed by Gnulib:
@itemize
@item
-@samp{O_NOCTTY}, @samp{O_DSYNC}, @samp{O_NONBLOCK}, @samp{O_RSYNC},
-@samp{O_SYNC}, @samp{O_DIRECTORY}, @samp{O_NOFOLLOW}, and
-@samp{O_TTY_INIT} are not defined on some platforms.
+@samp{O_CLOEXEC}, @samp{O_DIRECTORY}, @samp{O_DSYNC}, @samp{O_NOCTTY},
+@samp{O_NOFOLLOW}, @samp{O_NONBLOCK}, @samp{O_RSYNC}, @samp{O_SYNC},
+and @samp{O_TTY_INIT} are not defined on some platforms. Gnulib defines
+these macros to 0.
+
+@item
+@samp{O_EXEC} and @samp{O_SEARCH} are not defined on some platforms.
+Gnulib defines these macros to @samp{O_RDONLY}, which is typically 0.
@item
@samp{O_BINARY}, @samp{O_TEXT} (not specified by POSIX, but essential for
on some platforms but not on others.
@item
-@samp{FD_CLOEXEC} is not defined on some platforms:
+@samp{FD_CLOEXEC}, @samp{F_DUPFD}, and @samp{F_GETFD} are not defined
+on some platforms:
mingw.
@item
+@samp{F_DUPFD_CLOEXEC} is not defined on some platforms:
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.7.1, mingw, Interix 3.5,
+BeOS.
+
+@item
@samp{AT_FDCWD}, @samp{AT_EACCESS}, @samp{AT_SYMLINK_NOFOLLOW},
@samp{AT_SYMLINK_FOLLOW}, and @samp{AT_REMOVEDIR}
are not defined on many platforms:
-glibc 2.3.6, MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX
+glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX
5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
@item
@samp{AT_FDCWD} is defined with a value too large for an @code{int} on some
platforms:
-Solaris 10.
+Solaris 11 2010-11.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
-@samp{O_CLOEXEC} is not defined on some platforms. The gnulib
-replacement is not atomic on these platforms.
-
-@item
-@samp{O_SEARCH} and @samp{O_EXEC} are not defined
-on some platforms.
-
-@item
-@samp{F_DUPFD}, @samp{F_DUPFD_CLOEXEC}, @samp{F_GETFD}, and
-@samp{F_SETFD} are not defined on some platforms:
-mingw
-
-@item
-@samp{F_GETFL}, @samp{F_SETFL}, @samp{F_GETLK}, @samp{F_SETLK},
-@samp{F_SETLOKW}, @samp{F_GETOWN}, and @samp{F_SETOWN} are not defined
-on some platforms.
+@samp{F_SETFD}, @samp{F_GETFL}, @samp{F_SETFL}, @samp{F_GETLK},
+@samp{F_SETLK}, @samp{F_SETLOKW}, @samp{F_GETOWN}, and @samp{F_SETOWN}
+are not defined on some platforms:
+mingw.
@item
@samp{POSIX_FADV_DONTNEED}, @samp{POSIX_FADV_NOREUSE},