Enhanced ASCII support
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.