Print this page
Finished obsoleting interfaces for XPG7.

@@ -329,10 +329,36 @@
 #undef  _XOPEN_SOURCE
 #define _XOPEN_SOURCE                   700
 #endif
 
 /*
+ * As another simplification attempt for the rest of our headers, we
+ * define the following macros to indicate that a specific XPG standard
+ * is in force, AND symbols should be restricted.  This lets us prune
+ * symbols that should not be visible under a given standard.  These should
+ * not be used by applications directly.
+ */
+#if defined(_STRICT_SYMBOLS) && defined(_XPG3)
+#define _STRICT_XPG3
+#endif
+#if defined(_STRICT_SYMBOLS) && defined(_XPG4)
+#define _STRICT_XPG4
+#endif
+#if defined(_STRICT_SYMBOLS) && defined(_XPG4_2)
+#define _STRICT_XPG4_2
+#endif
+#if defined(_STRICT_SYMBOLS) && defined(_XPG5)
+#define _STRICT_XPG5
+#endif
+#if defined(_STRICT_SYMBOLS) && defined(_XPG6)
+#define _STRICT_XPG6
+#endif
+#if defined(_STRICT_SYMBOLS) && defined(_XPG7)
+#define _STRICT_XPG7
+#endif
+
+/*
  * _XOPEN_VERSION is defined by the X/Open specifications and is not
  * normally defined by the application, except in the case of an XPG4
  * application.  On the implementation side, _XOPEN_VERSION defined with
  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.