#1735632: add O_NOATIME constant to os module.
Also document a few other O_ constants that were missing from documentation.
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 3843b53..7d12488 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -703,14 +703,7 @@
 
 
 .. data:: O_BINARY
-
-   Option for the *flag* argument to the :func:`open` function. This can be
-   bit-wise OR'd together with those listed above. Availability: Windows.
-
-   .. % XXX need to check on the availability of this one.
-
-
-.. data:: O_NOINHERIT
+          O_NOINHERIT
           O_SHORT_LIVED
           O_TEMPORARY
           O_RANDOM
@@ -721,6 +714,15 @@
    bit-wise OR'd together. Availability: Windows.
 
 
+.. data:: O_DIRECT
+          O_DIRECTORY
+          O_NOFOLLOW
+          O_NOATIME
+
+   Options for the *flag* argument to the :func:`open` function. These are
+   GNU extensions and not present if they are not defined by the C library.
+
+
 .. data:: SEEK_SET
           SEEK_CUR
           SEEK_END
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 7c25a05..5fcc521 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -8658,6 +8658,10 @@
         /* Do not follow links.	 */
         if (ins(d, "O_NOFOLLOW", (long)O_NOFOLLOW)) return -1;
 #endif
+#ifdef O_NOATIME
+	/* Do not update the access time. */
+	if (ins(d, "O_NOATIME", (long)O_NOATIME)) return -1;
+#endif
 
 	/* These come from sysexits.h */
 #ifdef EX_OK