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:

  1. Use headers to declare external variables and interfaces used in compile unit source.
  2. 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 functions in the z/OS XL C/C++ Runtime Library and their support of Enhanced ASCII processing.
Note: The function table does not include compiler built-in functions (builtin.h).

Table 1 lists all the External Variables and their support status in Enhanced ASCII. For other information about these variables, see External variables.

Table 1. Status of External Variables in Enhanced ASCII
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.