GXLPSYM31 (GXLPSYM64) — StringID handler

Description

This handler accepts an input string and performs a lookup for its corresponding symbol, which is identical to the string itself. If the symbol has been located, the exit returns the StringID associated with the symbol. If the string does not have a defined symbol, a symbol is created for the string and a StringID is assigned to it.

Performance Implications

There are no performance implications.

Syntax

int gxlpSym31(void ** sys_svc_p,
              char * string_p,
              int string_l,
              unsigned int * string_id_p,
              int ccsid,
              int * handler_diag_p,
              int * rc_p)

Parameters

sys_svc_p
Supplied parameter
Type:
void **

A pointer to the system service parameter that was passed to the z/OS® XML OSR generator at initialization time.

string_p
Supplied parameter
Type:
char *

The string to return an ID for. The length of the string is variable, and is specified by the string_l parameter.

string_l
Supplied parameter
Type:
int

An integer containing the length of the string pointed to by the string parameter.

string_id_p
Returned parameter
Type:
unsigned int *

A pointer to an integer where the handler stores the numeric identifier for the string. The range of valid values is 1 to 2 GB - 1.

ccsid
Supplied parameter
Type:
int

The Coded Character Set IDentifier (CCSID) that identifies the character set of the string. The z/OS XML parser will provide the same CCSID in this parameter that the caller of the parser specified at parser initialization time.

handler_diag_p
Returned parameter
Type:
int *

A pointer to an integer where the handler can store any diagnostic information (usually a reason code). This will be stored in the diagnostic area and made available on the gxluControlOSRG call.

rc_p
Returned parameter
Type:
int *

A pointer to an integer where the handler can store a return code. A return code value of zero means success; any nonzero return code indicates failure.

Return Codes:

The z/OS XML OSR generator uses the convention that the handler will provide a return code value of zero when successful. Any nonzero value indicates failure. If a nonzero return code is provided by the exit, the z/OS XML OSR generator saves it in the extended diagnostic area so that the caller of the parser has access to it by calling gxluControlOSRG.

Example

None.

Default Implementation

There is no default implementation. If this handler is not specified by the caller, StringIDs are not used by the z/OS XML OSR Generator.