The POSIX, SAA, and S370 locales are pre-built locales used as defaults by the C runtime library. The POSIX locale complies with the standard UNIX definition and supports the z/OS UNIX environment. The SAA locale, which provides compatibility with previous releases of C/370, is consistent with the POSIX model, but varies slightly with respect to several values. The S370 locale, which is not supported for AMODE 64 applications, is compatible with an older format generated by the EDCLOC assembler macro rather than through the use of the localedef utility.
The POSIX definition of the C locale is described below, with the IBM extensions LC_SYNTAX and LC_TOD showing their default values.
The SAA and S370 definitions of the C locale are different from the POSIX definition; consistency with previous releases of z/OS® XL C/C++ is provided for migration compatibility. The differences are described in Differences between SAA C and POSIX C locales.
The source file EDC$SAAC LOCALE is provided for reference, but cannot be used to alter the definition of this prebuilt locale.
The source file EDC$POSX LOCALE is provided for reference, but cannot be used to alter the definition of this pre-built locale.
The setlocale() function supports locales built using the localedef utility, as well as locales built using the assembler source and produced by the EDCLOC macro. However, locales built using EDCLOC are not supported when running AMODE 64 applications.
The LC_TOD category for the SAA C and POSIX C locales can be customized during installation of the library by your system programmer. See Customizing your installation for more information. The supplied default will obtain the time zone difference from the operating system. However, it will not define the daylight savings time.
The LC_SYNTAX category for the SAA C and POSIX C locales is set to the IBM-1047 definition of the variant characters. Figure 1 lists other locale categories for the POSIX C locale.
Figure 1. Additional locale
categories for POSIX C
|
|
|
|
|
|