IBM Support

IGZXAPI function code 8 change and function code 16 enhancement.

News


Abstract

IGZXAPI function code 8 change and function code 16 enhancement.

Content

Update to function code 8 for AMODE 31

This applies when the caller of IGZXAPI is an LE conforming program and its CAA is different from the CAA of the COBOL program to be queried.

2 new input fields, XWKAREA and XCAA8, have been added to the parameter structure XINFO8 at offset 4 and 92. The sizes of the fields are 4 bytes. When IGZXAPI function code 8 is called using a CAA that is different from the one used by the COBOL program, set up XINFO8 as follows:
    set XCAA8 to the address of CAA of the COBOL program,
    set R12 to the address of CAA used by the caller of IGZXAPI,
    set XWKAREA8 to the a 512 bytes work area (to be used by IGZXAPI)
    set XLEN8, to 96 (length of the parameter structure)

Call IGZXAPI function code 8 with this modified parameter structure.

This does not affect the usage when the caller of IGZXAPI is using the same CAA as the COBOL program. No change is needed for those cases.

Note: When the CAA of the caller of IGZXAPI and the COBOL program are the same, you can also use the new parameter structure layout to make the query. Set both R12 and XCAA8 to the address of the CAA, and set XLEN8 to 96.

 

XINFO8 layout for AMODE 31

(blue highlighted text are the changes)


*
XINFO8 DSECT
XFNCODE8  DS F Input: Function code, =8 for static area query
XWKAREA8  DS A Input: Address of a 512 bytes work area
XSIG8     DS F Eye-catcher (output)
XVER8     DS H Version of this information structure block (output)
XLEN8     DS H Input: Length of this data structure, 96
*
XEP8      DS A Input: Entry point address of COBOL program (optional)
XDSA8     DS A Input: DSA of COBOL program (optional)
XCBACK8   DS A Input: Address of the callback function (optional)
*
XSA8      DS A Address of STATIC MAP (output)
XSALEN8   DS F Length of STATIC MAP (output)
XS24A8    DS A Address of WSA 24 MAP (output)
XS24LEN8  DS F Length of WSA 24 MAP (output)
XNORENT8  DS A Address of NORENT Static Area (output)
XNORLEN8  DS F Length of NORENT Static Area (output)
XWSTOR8   DS A Address of WORKING-STORAGE section (output)
XWSLEN8   DS F Length of WORKING-STORAGE section (output)
XWSA8     DS A Address of CWSA (output)
XIBYTE8   DS A Address of Information Byte (output)
*
FILLER82  DS H Reserved
XPNALEN8  DS H Length of program name (output)
XPNAME8   DS A Address of program name (output)
*
FILLER81  DS 4F Reserved
XCAA8     DS A Input: Address of COBOL program CAA

**
                                  
New function code 16 
This applies only to COBOL programs compiled with the LP(64) option. (That is, programs running in AMODE 64.)
Use this function code to query WORKING-STORAGE information for all COBOL programs within the LE Enclave. The parameter structure is XINFO8 (the same as function code 8). The caller of IGZXAPI must be running in the same LE Enclave.
On the first call to this function code, clear the whole XINFO8 to binary zero, except:
    XFNCODE8  = 16 (function code)
    XLEN8          = 208 (parameter structure length)
    XWKAREA8 = address of 2048 bytes work area provided by caller of IGZXAPI
    XCAA8         = CAA a COBOL program in the Enclave
Note: Requirements for registers R1 and R13 are the same as other IGZXAPI function codes. Refer to Language Environment Vendor Interface for details on IGZXAPI.
On return, information of the first COBOL program is set in the parameter structure. The information returned is the same as the corresponding call to function code 8.
Then call IGZXAPI again using the same XINFO8 without changing any fields returned from the previous call. Information of the next COBOL program would be returned. Repeat this step to retrieve the rest of the COBOL programs. The last COBOL program has been returned (in the previous call) if the entry point field, XEP8, returned is zero.
Layout of XINFO8 for AMODE 64


XINFO8      DSECT 
XFNCODE8    DS  F  Input: Function code, =8 for static area query 
FILLER80    DS  3A Reserved 
XSIG8       DS  F  Eye-catcher (output) 
XVER8       DS  H  Version of this information structure block (output)
XLEN8       DS  H  Input: Length of this data structure, 200
* 
XEP8        DS  AD  Input: Entry point addr of COBOL program
XDSA8       DS  AD  Input: DSA of COBOL program (optional) 
XCBACK8     DS  AD  Input: Address of the callback function (optional)
* 
XSA8        DS  AD  Address of Above the Bar Heap (output) 
XSALEN8     DS  FD  Length of Above the Bar Heap (output) 
XS31A8      DS  AD  Address of Above the (output) 
XS31LEN8    DS  FD  Length of Below the Bar Heap (output) 
XS24A8      DS  AD  Address of Below the Line Heap (output) 
XS24LEN8    DS  FD  Length of Below the Line Heap (output) 
*
XWSTOR8     DS  AD  Address of WORKING-STORAGE section (output) 
XWSLEN8     DS  FD  Length of WORKING-STORAGE section (output) 
FILLER81    DS  8F  Reserved
XWSA8       DS  AD  Address of CWSA (output) 
XIBYTE8     DS  AD  Address of Information Byte (output) 
*
FILLER82    DS  3H  Reserved 
XPNALEN8    DS  H   Length of program name (output) 
XPNAME8     DS  AD  Address of program name (output) 
* 
XCAA8       DS  AD  Input: Address of the LE CAA
XWKAREA8    DS  AD  Input: Address of 2048 bytes work area
FILLER83    DS  2F  Reserved

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

Document Information

Modified date:
14 October 2020

UID

ibm16243414