|   | 
 
Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      OFBK           CP Open File Block
0000    0 Address      4 OFBFWD         Host logical address of next OFB.
0004    4 Address      4 OFBDRB         HL-address of chain of open DRBKs
0008    8 Address      4 OFBMLEBK       HL-address of MLEBK chain.
000C   12 Signed       4 OFBIOBUF       Host logical address of I/O
                                        buffer. May be backed anywhere
                                        since format 2 IDAW lists will be
                                        used.
0010   16 Address      4 OFBvFSB        Virt Free Storage addr of FSBK
0014   20 Signed       4 *              Reserved for future IBM use
0018   24 Signed       2 OFBSIZE        Size of OFBK in bytes
001A   26 Bitstring    1 OFBFLAG1       Flags
          1... ....      OFBSEUDO       X'80' OFBSEUDO This is a
                                        Pseudo-OPEN OFBK
          ...1 ....      OFBUNIQE       X'10' OFBUNIQE Only 1 OPEN
                                        against this OFBK
001B   27 Bitstring    1 OFBFLAG2       Flags
          1... ....      OFBOUTPT       X'80' OFBOUTPT This is an output
                                        OFBK
          .1.. ....      OFBBUFFR       X'40' OFBBUFFR Delay write till
                                        buffer full
          .... ..1.      OFBCPVF        X'02' OFBCPVF Backed in "CP
                                        Virtual Free"
001C   28 Address      4 OFBIOR         Host logical address of IORBK if
                                        any.
0020   32 Dbl-Word     8 OFBLOCK (3)    Lock for file I/O
0038   56 Signed       4 OFBUSER1       Reserved for non-IBM use
003C   60 Signed       4 OFBUSER2       Reserved for non-IBM use
0040   64 Bitstring   64 OFBFSB         Interesting FSBK pieces
0080  128 Signed       4 *              Reserved for IBM use
0084  132 Signed       4 OFBVFsz        CP V F size allocated. Used if
                                        OFBCPVF is on.
0088  136 Bitstring    8 OFBbBUFF       64 bits, 1 per block in CPVF.
                                        Used if OFBCPVF is on.
0090  144 Bitstring    8 OFBwBUFF       64 bits, 1 per block in CPVF.
                                        Used if OFBCPVF is on. On if
                                        block was written.
0098  152 Address      4 OFBgBUFF       CP Virt Free Storage addr of blk
                                        Used if OFBCPVF is on.
009C  156 Address      4 OFBaBUFF       CP Virt Free Storage page align.
                                        Used if OFBCPVF is on. When we
                                        read a block of the CMS file, we
                                        copy that block to CP Virt Free,
                                        such that the block's RBA is the
                                        offset from OFBaBUFF. The
                                        corresponding bit in OFBbBUFF is
                                        set on to indicate data exists in
                                        CP V F. OFBwBUFF is set if the
                                        block is to be written.
       This section (OFBd )  describes fields that locate
       the buffer for level 0, the data level.  The layout of
       the OFBPTR section is identical to this.  These two
       sections replicate each other so that we can readily
       refer directly to the data section, or through pointer
       levels to level 0, this same data level.  Which section
       to use is left to the convenience of the programmer.
00A0  160 Dbl-Word     8 OFBdPTR (0)    Ensure d-word boundary
00A0  160 Signed       4 OFBdBLK        CMS file block number of block
00A4  164 Signed       4 OFBdCPTR       Subscript to child pointer
00A8  168 Address      4 OFBdBUFF       A(I/O buffer)
          .... ...1      OFBdDATA       X'01' OFBdDATA OFBpBUFF must be
                                        written
00AC  172 Address      4 *              Reserved for IBM use
00B0  176 Dbl-Word     8 * (0)          Ensure d-word boundary
00B0  176 Dbl-Word     8 OFBPTRS (0)    Start of variable length data
                                        Pointers to DASD blocks
          000000B0       OFBSIZEB       (*-OFBK+7)/8*8 Size in bytes
          00000016       OFBSIZED       (*-OFBK+7)/8 Size in d-words
       This section is subscripted (1:FSB#LVL).
       This section mirrors the definition of OFBdPTR above.
00B0  176 Dbl-Word     8 OFBPTR (0)     Pointers to DASD blocks
00B0  176 Signed       4 OFBpBLK        CMS file block number of block
00B4  180 Signed       4 OFBpCPTR       Subscript to child pointer
00B8  184 Address      4 OFBpBUFF       A(I/O buffer)
          .... ...1      OFBpDATA       X'01' OFBpDATA OFBpBUFF must be
                                        written
00BC  188 Address      4 *              Reserved for IBM use
00C0  192 Dbl-Word     8 * (0)          Round up to d-word boundary
          00000010       OFBPTRL        *-OFBPTR Length of these fields
  |   |