GXLHXEC_CTL_LOAD_OSR

Description

This indicates that the caller wants to load and use a given Optimized Schema Representation (OSR) during a validating parse. If the parse prior to invoking this operation returned a GXLHXRSN_NEED_OSR, this operation will not perform reset and finish processing.

Syntax

int gxlpControl (void * PIMA,
                 int ctl_operation,
                 void * ctl_data_p,
                 int * rc_p,
                 int * rsn_p);

Parameters

PIMA
Supplied parameter
Type:
void *

The name of the Parse Instance Memory Area (PIMA) which has been previously initialized with a call to the initialization service.

ctl_operation
Supplied parameter
Type:
int

The name of the parameter containing an integer value initialized to GXLHXEC_CTL_LOAD_OSR.

ctl_data_p
Supplied and returned parameter
Type:
void *

This indicates that the caller wants to load and use a given Optimized Schema Representation (OSR) during a validating parse. Once an OSR has been loaded, it remains in use for all validating parse requests until a different OSR is provided by calling this service again.

This parameter must contain the address of an area containing information about the OSR to load. This area is mapped by gxlhxosr.h. See gxlhxosr.h (GXLYXOSR) - mapping of the OSR control area for more information on the structures in this header.

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.

Example

void *PIMA;
GXLHXOSR *ctlData;
int lastRetVal, lastRC, lastRSN;
lastRetVal = gxlpControl(PIMA,                
                         GXLHXEC_CTL_LOAD_OSR,
                         (void *)&ctlData,                              
                         &lastRC,                                       
                         &lastRSN);