Testing the environment

Many symbols have been added in <limits.h> and <unistd.h> to support SUSv3. Some of these symbols are tested at compile time by the preprocessor to allow differential compiles based on the values found, while others are intended for use by sysconf(), pathconf(), fpathconf(), and confstr() to test the version of the standard and availability of options at run time. Table 1 lists the SUSv3 options and option groups supported by the XL C/C++ Runtime Library:
Table 1. SUSv3 options and option groups
Description Symbol Name
File Synchronization _POSIX_FSYNC
Memory Mapped Files _POSIX_MAPPED_FILES
Memory Protection _POSIX_MEMORY_PROTECTION
Realtime Signals Extension _POSIX_REALTIME_SIGNALS
Thread Stack Address Attribute _POSIX_THREAD_ATTR_STACKADDR
Thread Stack Size Attribute _POSIX_THREAD_ATTR_STACKSIZE
Thread Process-Shared Synchronization _POSIX_THREAD_PROCESS_SHARED
Thread-Safe Functions _POSIX_THREAD_SAFE_FUNCTIONS
Threads _POSIX_THREADS
Encryption Option Group _XOPEN_CRYPT
Legacy Option Group _XOPEN_LEGACY
XSI Streams Option Group _XOPEN_STREAMS
XSI Extension _XOPEN_UNIX