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.