C/C++ header files and assembler macros

The z/OS XML System Services API includes several sets of structures, variables and constants that the caller uses to provide input to and receive output from the assorted processing services of the API. These definitions are contained in parallel sets of C/C++ header files and assembler macros. The header files are named gxlh*.h, and are found in the /usr/include directory. The assembler macros are named GXLY* and are installed in SYS1.MACLIB.

The names of the C/C++ and assembler macros are similar. For example, the output buffer record mapping is contained in /usr/include/gxlhxeh.h, while the assembler version of the same mapping is in SYS1.MACLIB(GXLYXEH). In addition to the parallel nature of these headers and macros, the C/C+ headers come in regular Language Environment® run-time and Metal C versions. Both versions have the same file names, but the Language Environment run-time versions are in /usr/include, while the Metal C versions are in /usr/include/metal. See z/OS XML XL C/C++ API for more details about these differences.

All of the core parser services have C/C++ interfaces (both Language Environment C and Metal C) and assembler interfaces. In addition, there are a set of utility services to generate Optimized Schema Representations (OSRs) from text schemas. These utility services are implemented in Language Environment C/C++ and Java™. As a result, there are Language Environment C/C++ headers that have no corresponding assembler macro or Metal C version.

These are the header files and assembler macros of the z/OS XML processing API. The header file names are listed first, followed by the assembler macro names in parentheses (if there is a corresponding macro).