IBM Support

A new function code was added to the Vendor Interface Routine IGZXAPI to query the Language Environment Writable Static Area for a given COBOL program.

News


Abstract

An enhancement has been made to IBM Enterprise COBOL for z/OS to add a new function code 7 to the Vendor Interface routine IGZXAPI . The usage of IGZXAPI function code 7 returns the Language Environment Writable Static Area (LE WSA).

Content

APAR PI11389 introduces an enhancement that adds a new function code 7 (LE WSA Address Query with callback) to the Vendor Interface routine IGZXAPI .

This is similar to the existing function code 3 (LE WSA Address Query) in IGZXAPI , which queries information about the Language Environment Writeable Static area of an IBM Enterprise COBOL for z/OS, Version 5 or higher program. The new function code allows more flexibility in the call.  
The user now passes in a callback function pointer that provides a translation ability from an address in current "address-space" to an address of the failing modules "address-space".  The usage and prototype of this callback function is the same as the callback_p parameter in LE's __fnwsa function.

An updated description of the Vendor Interface routine IGZXAPI is attached below.
IGZXAPI Function 7 Details

Function Code 7

Language Environment writable static area (WSA) address query – different CAA
To find the Language Environment WSA address of a given entry point when the caller and the COBOL program do not share the same CAA.  
DSECT XINFO7 is the information structure to communicate with the WSA address query routine.   This function is the same as IGZXAPI Function code 3, except the user now passes in a callback function that translates data from a different address space.  
On input:
XEP7 
The entry point address of the COBOL program to be queried.
XLEN7
Length of XINFO7.
The caller should set this to 48. 
Caller should provide memory for this data structure.
XFNCODE7
This is the function code. Set to 7 for LE writable static area.
XCAA7
LE CAA of the COBOL program to be queried.
XCBACK7
The address of a callback function. This is used when the given entry point (XEP7, see above) is not in the current address space. The usage and prototype of this callback function is the same as the callback_p parameter in LE's __fnwsa function.
 void * (*callback_p)(void* data_p, size_t data_l);
All other fields are output from the routine.  The LE WSA address is in the XWSA7 field.
The Control Block information for Function code 7 (31-bit amode)
--------------------------------------------------------------------------------
*
*        1         2         3         4         5         6         7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO7   DSECT
XFNCODE7 DS    F       Input: Function code, =7 for LE WSA address query
FILLER70 DS    A       reserved
XSIG7    DS    F       X'C0B00501'
XVER7    DS    H       Version of this information structure block
XLEN7    DS    H       Input: Length of this data structure, 48
*
XEP7     DS    A       Input: Entry point address of COBOL program
XWSA7    DS    A       Output: address of LE WSA
FILLER71 DS    A
XCAA7 US DS    A       Input: Address of CAA of the COBOL program
XCBACK7  DS    A       Input: address of the callback function
*
FILLER72 DS    3F        Reserved
*

[{"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Compile","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"5.1","Edition":"Enterprise","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
15 February 2023

UID

swg21667948