gxlpLoad — load a z/OS XML function

Description

Load a module that implements a z/OS® XML function into storage.

Performance Implications

There are no performance implications.

Syntax

int gxlpLoad (int function_code,
                   void * function_data,
                   int * rc_p,                   
                   int * rsn_p)

Parameters

function_code
Supplied parameter
Type:
int
This parameter identifies the z/OS XML function to load. It is the name of an integer value representing the following function:
XEC_LOD_VPARSE
The validating parse function
See gxlhxec.h for the list of function code constants.
function_data
Returned parameter
Type:
void *

Specify a word of zeroes for this parameter.

rc_p
Returned parameter
Type:
int *

The name of the area where the service stores the return code.

rsn_p
Returned parameter
Type:
int *

The name of the area where the service stores the reason code. The reason code is only relevant if the return code is not XRC_SUCCESS.

All parameters in the parameter list are required.

Return and Reason Codes:

On return from a call to this service, register 15 will contain the return code. The return and reason code are both also set as output parameters. The value of the reason code is undefined when the return code has no associated reasons. Return and reason codes are defined in the header file gxlhxr.h (see gxlhxr.h (GXLYXR) - defines the return codes and reason codes). For reason code descriptions, also see Reason codes listed by value.

Example

None.

Usage notes

This load step is not required for performing non-validating parsing. This operation is only required when using the validating parser. The caller does have the option of loading the load module for the specified function without using this service - either through the z/OS LOAD macro (assembler interface), or by putting it in LPA or the extended LPA. Both the LOAD macro and calls to this service are not allowed when running in an SRB. The use of either interface must be performed in the task before entering SRB mode.

If the required z/OS XML function is made available, either by LOADing the executable load module for it or putting the load module in LPA, this service is not required. Documentation on the LOAD macro can be found in z/OS MVS™ Programming: Assembler Services Reference, Volume 2, and information on how to load modules into LPA can be found in z/OS Initialization and Tuning Guide.

The load module associated with the function is as follows:
Table 1. Load module for C/C++ parser
Function code Function performed Load module name
XEC_LOD_VPARSE Validating parser function GXLIMODV

There is no unload service to perform the converse of this function, and none of the other z/OS XML System Services cause the z/OS XML parser to be unloaded. The z/OS XML parser load module will remain in the caller's address space even if the parser is terminated or reset. If multiple parse requests are to be performed in the same address space, make sure to load the z/OS XML parser only once, regardless of whether those parse requests are performed using the same parse instance (PIMA) or not.