Enhanced ASCII support
Restriction: Enhanced ASCII and __LIBASCII are independent, and should not be used together. Using Enhanced ASCII and __LIBASCII together is not supported.
Enhanced ASCII support provides the means to write z/OS® XL C/C++ applications which will execute with ASCII data representation.
Enhanced ASCII support makes it easier to port internationalized C/C++ applications developed on or for ASCII platforms to z/OS platforms by providing conversion from ASCII to EBCDIC and EBCDIC to ASCII.
In order to use Enhanced ASCII support, a C or C++ module must be compiled specifying ASCII as the data representation. Application compile units will be bound to ASCII versions of external variables and interfaces at compile time if they:
- Use headers to declare external variables and interfaces used in compile unit source.
- Are compiled with the ASCII option.
New ASCII function-versions and other support functions have been added to the z/OS XL C/C++ Runtime Library to handle ASCII data in files, data manipulations, and conversions between ASCII and EBCDIC. The compile-time binding will determine which ASCII or EBCDIC function version is called during runtime execution.
Table 1 lists all the External Variables and their support status in Enhanced ASCII. For other information about these variables, see External variables.
External Variable | Enhanced ASCII Support Level |
---|---|
daylight | Neutral |
environ | Yes |
errno | Neutral |
getdate_err | Neutral |
h_errno | Neutral |
locs | No |
loc1 | No |
__loc1 | Neutral |
loc2 | No |
optarg | Neutral |
opterr | Neutral |
optind | Neutral |
optopt | Neutral |
signgam | Neutral |
stderr | Neutral |
stdin | Neutral |
stdout | Neutral |
t_errno | Neutral |
timezone | Neutral |
tzname | Yes |
For a description of Limitations to the use of Enhanced ASCII, see z/OS XL C/C++ Programming Guide.