Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Controlling the mapping of original functions to the associated ASCII variants

&pagelevel(4)&pagelevel

You can use the _ASCII_SOURCE preprocessor define to specify whether the original library functions (EBCDIC functions) for character/string processing are mapped to the associated ASCII variants. The prototypes of the ASCII functions are always generated.

_ASCII_SOURCE can take on the following values:

_ASCII_SOURCE == 0

The EBCDIC functions are not mapped to the corresponding ASCII variants. EBCDIC and ASCII functions can thus be used in parallel. This setting applies regardless of the settings of the compiler (see the _ASCII define on "Generating ASCII characters and strings by means of a compiler option").

_ASCII_SOURCE == 1

The EBCDIC functions are mapped to the corresponding ASCII variants. EBCDIC and ASCII functions thus cannot be used in parallel. This setting applies regardless of the settings of the compiler (see the _LITERAL_ENCODING_ASCII define on "Generating ASCII characters and strings by means of a compiler option").

You can use the _MAP_NAME preprocessor define to specify whether the EBCDIC functions are to be mapped to the ASCII functions by means of the name define method or the macro define method (see "Preprocessor define _MAP_NAME").

If you want to use the ASCII functions by means of the preprocessor define, you have to use the function declarations of the standard include files (i.e. you have to include the standard include files).

_ASCII_SOURCE is not defined

In this case, the following takes place, depending on the settings of the compiler (see the _LITERAL_ENCODING_ASCII define on "Generating ASCII characters and strings by means of a compiler option"):

LITERAL_ENCODING_ASCII == 0 or LITERAL_ENCODING_ASCII not defined

The original functions are not mapped to the corresponding ASCII variants.

LITERAL_ENCODING_ASCII == 1

The original functions are mapped to the corresponding ASCII variants.

To control the mapping of the EBCDIC functions to the associated ASCII functions, you have to specify the MODIFY-MODULE-PROPERTIES compiler option as follows:
MODIFY-MODULE-PROPERTIES          -
...
LOWER-CASE-NAMES=*YES,            -
SPECIAL-CHARACTERS=*KEEP,         -
...

This prevents:

  • the names of the ASCII functions (see "C library functions that support ASCII encoding") from being truncated to eight characters

  • lowercase letters from being converted to uppercase and the character “_” from being replaced with “$” in the function names

In POSIX, you specify the following to achieve this:

-K llm_keep

-K llm_case_lower