This section explains under what conditions you can use Enhanced
ASCII.
- A subset of C headers and functions is provided in ASCII. For
more information, see z/OS XL C/C++ Runtime Library Reference.
- The only way to get to the ASCII version of functions and the
external variables environ and tzname is
to use the appropriate IBM header files.
- ASCII applications may read, but not update, environment variables
using the environ external variable. Updates
to the environment variables using environ in
an ASCII application causes unpredictable results and may result in
an abend. Language Environment maintains two equivalent arrays of
environment variables when running an ASCII application, one with
EBCDIC encodings and the other with ASCII encodings. All ASCII compile
units that use the environ external variable
must include <stdlib.h> so that environ can
be mapped to access the ASCII encoded environment strings. If <stdlib.h>
is not included, environ will refer to the EBCDIC
representation of the environment variable strings.
Enhanced ASCII provides limited conversion of ASCII to EBCDIC,
and EBCDIC to ASCII. The character set or alphabet that is associated
with any locale consists of the following:
- A common, XPG4-defined subset of characters such as POSIX portable
characters
- A unique, locale-specific subset of characters such as NLS characters
The conversion only applies to the portable subset of characters
that are associated with a locale. Only the EBCDIC IBM-1047 encoding
of portable characters is supported.
You might encounter unexpected results in the following situations:
- If Enhanced ASCII applications run in locales that contain non-Latin
Alphabet Number 1 NLS characters, C-RTL functions might copy some
of the locale's non-Latin 1 NLS characters into buffers that the application
is writing to stdout or another files in the z/OS UNIX file system.
The non-Latin Alphabet Number 1 NLS characters would then cause problems
during automatic conversion.
- Language Environment applications select non-English message files.
If your NATLANG runtime option is not UEN or ENU, messages directed
to the Language Environment message file are not converted to ASCII.