Layout of the information structure for AMODE 64
The layout of the information structure is described as follows.
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO DSECT
XFNCODE DS F Input: Function code, =1 for file information
XFILLER0 DS A reserved
XSIG DS F X'C0B00501'
XVER DS H Version of this information structure block
XLEN DS H Input: Length of this data structure, 160
DS A Input: Set to zero (reserved)
*
XNFILES DS H Total number of files
*
* BNREST is input field during the first call, set it to zero;
* on return, contains the remaing number of files to go
*
XNREST DS H Input in first call, set to zero
*
XDCB DS A Address of DCB or ACB
XDDNAME DS A Address of DDNAME (8 characters)
XFNAME DS A Address of file name (30 characters)
*
XCFLAG1 DS X Compile time information flags
XSOPTNL EQU X'80' SELECT OPTIONAL
XRCDSPN EQU X'40' Record format spanned
XBLKED EQU X'20' Record format blocked
XLINAGE EQU X'10' Linage is specified
XLINFOOT EQU X'08' Linage FOOTING is specified
XLINTOP EQU X'04' Linage TOP is specified
XLINBOT EQU X'02' Linage BOTTOM is specified
XBUFUSE EQU X'01' Buffer usage indicator
*
XCFLAG2 DS X Compile time information flags
XEXTFILE DS X'80' External file
FILLER2 DS X Reserved
FILLER3 DS X Reserved
*
XORG1 DS X File Type
XVSAM EQU X'01' VSAM
XLSEQ EQU X'02' Line Sequential
XQSAM EQU X'03' QSAM
*
XORG2 DS X File Organization
XORGSEQ EQU X'01' Sequential
XORGIND EQU X'02' Indexed
XORGREL EQU X'03' Relative
*
XACCESS DS X File Access Mode
XACCSEQ EQU X'01' Sequential
XACCRAN EQU X'02' Random
XACCDYN EQU X'03' Dynamic
*
XRECFM DS X Record Format
XRECFIX EQU X'01' Fixed
XRECVAR EQU X'02' Variable
XRECUND EQU X'03' Undefined
*
XRFLAG1 DS X Run time information flags 1
XOPOPT EQU X'80' OPEN, missing optional file
XOPREV EQU X'40' OPEN REVERSED (valid when XOPENED)
XOPNOREW EQU X'20' OPEN, NO REWIND (valid when XOPENED)
XCLNOREW EQU X'10' CLOSE, NO REWIND (valid when XCLOSED)
XCLLOCK EQU X'08' CLOSE, LOCK (valid when XCLOSED)
XCLREMOV EQU X'04' CLOSE FOR REMOVAL (valid when XCLOSED)
XSOKACT EQU X'02' A successful action since OPEN
*
XRFLAG2 DS X Run time information flags 2
XPEND EQU X'20' OPEN or CLOSE pending
XSEOF EQU X'10' Previous READ hit end of file
XEOP EQU X'08' End of page
XMOPTNL EQU X'04' OPTIONAL FILE MISSING
XADVAFT EQU X'02' WRITE AFTER ADVANCING x LINES
XADVBEF EQU X'01' WRITE BEFORE ADVANCING x LINES
FILLER4 DS H Reserved
*
XFMODE DS X Current file mode
XOPENED EQU X'01' Opened
XCLOSED EQU X'02' Closed
XNEVERO EQU X'03' Never opened
*
XOMODE DS X Information about OPEN (valid when XOPENED)
XOPIN EQU X'01' OPEN INPUT
XOPOUT EQU X'02' OPEN OUTPUT
XOPIO EQU X'03' OPEN IO
XOPEXT EQU X'04' OPEN EXTENDED
*
XCMODE DS X Information about CLOSE (valid when XCLOSED)
XCLFILE EQU X'01' CLOSE
XCLUNIT EQU X'02' CLOSE REEL/UNIT
*
XLASTREQ DS X Last operation on file
XLASTRD EQU X'01' READ
XLASTWRT EQU X'02' WRITE
XLASTRWT EQU X'03' REWRITE
XLASTSTR EQU X'04' START
XLASTDLT EQU X'05' DELETE
XLASTOPN EQU X'06' OPEN
XLASTCLO EQU X'07' CLOSE
**
* Various LINAGE values
*
XLNLING DS F Linage
XLNFOOT DS F Linage footing
XLNTOP DS F Linage top
XLNBOT DS F Linage bottom
XLNCTR DS F Linage counter
**
* File Status
*
XFSTAT DS X File status, in 2 hex bytes
XVSMCOD DS X VSAM feedback code
XVSMRET DS X VSAM return code
XVSMFUNC DS X VSAM function code
*
* XADVVAL DS F Write after/before advancing value
*
XRECLEN DS F Record length; max length for variable rec
XBLKLEN DS F Block size
XRECLAD DS A Address of address of record
XBUFAD DS A Address of buffer provided by DFSMS
*
XPNAME DS A Address of program name
XPNAMLEN DS H Program name length
FILLER5 DS H Reserved
*
FILLER6 DS AD
XPROGEP DS AD Input: Enter point address of COBOL program
XPSTACK DS AD Input: Address of XPLINK stack
XCAA DS AD Input: Address of LE CAA
XWKAREA DD AD Input: Address of 2048 bytes work area
FILLER7 DS 4F Reserved
*
* 1 2 3 4 5 6 7
* 345678901234567890123456789012345678901234567890123456789012345678901
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO2 DSECT
XFNCODE2 DS F Input: Function code, =2 for RT information
FILLER20 DS A reserved
XSIG2 DS F X'C0B00501'
XVER2 DS H Version of this information structure block
XLEN2 DS H Input: Length of this data structure, 96
XDSA2 DS A Input: DSA of COBOL program to be querired (optional)
*
FILLER21 DS X Reserved
FILLER22 DS X Reserved
FILLER23 DS X Reserved
*
XRFLAG4 DS X Run Time Flags
XINSORT EQU X'02' Sort is active
XISMAIN EQU X'01' Program is main
*
XSDREC DS A Address of active sort record
XSDLEN DS F Sort record len
*
FILLER24 DS 6F Reserved
*
XEP2 DS AD Input: Entry point of COBOL program
XPSTACK2 DS AD Input: Address of XPLINK Stack
XCAA2 DS AD Input: Address LE CAA
XWKAREA2 DS AD Input: Address of 2048 work area
*
FILLER25 DS 2F Reserved
*
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO3 DSECT
XFNCODE3 DS F Input: Function code, =3 for WSA address query
FILLER30 DS 3A reserved
XSIG3 DS F X'C0B00501'
XVER3 DS H Version of this information structure block
XLEN3 DS H Input: Length of this data structure, 72
*
XEP3 DS AD Input: Entry point address of COBOL program
XWSA DS AD Address of WSA
*
XPSTACK3 DS AD Input: Address of XPLINK stack
XCAA3 DS AD Input: Address of LE CAA
XWKAREA3 DS AD Input: Address of 2048 bytes work area
FILLER31 DS 2F Reserved
*
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO4 DSECT
XFNCODE4 DS F Input: Function code, =4 for file status update
FILLER40 DS 3A reserved
XSIG4 DS F X'C0B00501'
XVER4 DS H Version of this information structure block
XLEN4 DS H Input: Length of this data structure, 144
*
XDSA4 DS AD Input: DSA address of COBOL program (optional)
XFILENM DS CL30 File Name. COBOL FD name of the file.
FILLER41 DS CL2
XFSTATUS DS AD Addr of buff containing new File Status data
XFSLEN DS F Length of XFSTATUS buffer
*
FILLER42 DS 5F Reserved
XEP4 DS AD COBOL program entry point address
XSTACK4 DS AD current XPLINK stack address
XCAA4 DS AD Input: LE CAA address
XWKAREA4 DS AD Input: Address of 2048 bytes work area
FILLER43 DS 4F Reserved
*
* 1 2 3 4 5 6 7
* 345678901234567890123456789012345678901234567890123456789012345678901
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
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 3F Reserved
XPNALEN8 DS H Length of program name (output)
XPNAME8 DS AD Address of program name (output)
*
XCAA8 DS AD Address of the LE CAA
XWKAREA8 DS AD Address of 2048 bytes of work area
FILLER83 DS 2F Reserved
*
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 Language Environment CAA
XWKAREA8 DS AD Input: Address of 2048 bytes work area
FILLER83 DS 2F Reserved
*
*
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO11 DSECT
(Refer to the "Layout of the information structure for AMODE 31")
*
*
--------------------------------------------------------------------------------
*
* 1 2 3 4 5 6 7
*
* 345678901234567890123456789012345678901234567890123456789012345678901
*
XINFO12 DSECT
Layout of the DSECT is the same for the corresponding one in AMODE31
(Refer to the "Layout of the information structure for AMODE 31")
*
*
~~~~~~ E N D ~~~~~