NEWS.stable: log cherry-pick [e446f25]->[c092018] relocatable-shell: Update suggested...
[gnulib.git] / doc / posix-headers / fcntl.texi
index c87e872..7366513 100644 (file)
@@ -8,6 +8,14 @@ Gnulib module: fcntl-h
 Portability problems fixed by Gnulib:
 @itemize
 @item
+The type @code{pid_t} is not defined on some platforms:
+MSVC 9.
+
+@item
+The type @code{mode_t} is not defined on some platforms:
+MSVC 9.
+
+@item
 @samp{O_CLOEXEC}, @samp{O_DIRECTORY}, @samp{O_DSYNC}, @samp{O_NOCTTY},
 @samp{O_NOFOLLOW}, @samp{O_RSYNC}, @samp{O_SYNC},
 and @samp{O_TTY_INIT} are not defined on some platforms.  Gnulib defines
@@ -21,6 +29,13 @@ non-zero value; otherwise, the gnulib replacement is 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.
+The @samp{O_PATH} macro of GNU/Linux is not a suitable substitute, as
+fchmod fails with @samp{errno==EBADF} when invoked on a file
+descriptor that was opened with @samp{O_PATH}.
+
+@item
+@samp{O_ACCMODE} is not defined on some platforms:
+MSVC 9.
 
 @item
 The @samp{O_ACCMODE} mask mistakenly omits @samp{O_SEARCH} and
@@ -29,45 +44,46 @@ Cygwin.
 
 @item
 @samp{O_BINARY}, @samp{O_TEXT} (not specified by POSIX, but essential for
-portability to Woe32 platforms) are defined on some platforms but not on
-others.
+portability to native Windows platforms) are defined on some platforms but
+not on others.
 
 @item
-@samp{O_DIRECT}, @samp{O_NDELAY}, @samp{O_NOATIME},
-and @samp{O_NOLINKS} (not specified by POSIX) are defined
+@samp{O_DIRECT}, @samp{O_IGNORE_CTTY}, @samp{O_NDELAY},
+@samp{O_NOATIME}, @samp{O_NOLINK}, @samp{O_NOLINKS}, and
+@samp{O_NOTRANS} (not specified by POSIX) are defined
 on some platforms but not on others.
 
 @item
 @samp{FD_CLOEXEC}, @samp{F_DUPFD}, and @samp{F_GETFD} are not defined
 on some platforms:
-mingw.
+mingw, MSVC 9.
 
 @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,
+Mac OS 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, MSVC 9, 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.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.
+glibc 2.3.6, Mac OS 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, MSVC 9, Interix 3.5, BeOS.
 
 @item
 @samp{AT_FDCWD} is defined with a value too large for an @code{int} on some
 platforms:
-Solaris 11 2010-11.
+Solaris 11 2011-11.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
 @item
 @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}
+@samp{F_SETLK}, @samp{F_SETLKW}, @samp{F_GETOWN}, and @samp{F_SETOWN}
 are not defined on some platforms:
-mingw.
+mingw, MSVC 9.
 
 @item
 @samp{POSIX_FADV_DONTNEED}, @samp{POSIX_FADV_NOREUSE},