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) 
* 
Start of changeFILLER82    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  ReservedEnd of change
*
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 ~~~~~