Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

OFBK

Prolog  

Control Block Contents  
   OFBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


OFBK Prolog

 Name       : HCPOFBK
 Description: CP Open File Block
 DSECT      : OFBK
 Function   : The OFBK contains information about each
              open CMS file on CP accessed minidisks
 Located by : ACSBK.ACSOFB
              OFBK.OFBFWD
              DRBK.DRBOFB
 Created by : HCPZIA
              HCPZIO
 Deleted by : HCPZIC
              HCPZIR

 

OFBK Control Block Content


OFBK DSECT

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

 

OFBK Storage Layout

          
*** OFBK - CP Open File Block
*
*     +---------------------------+---------------------------+
*   0 |          OFBFWD           |          OFBDRB           |
*     +---------------------------+---------------------------+
*   8 |         OFBMLEBK          |         OFBIOBUF          |
*     +---------------------------+---------------------------+
*  10 |         OFBVFSB           |///////////////////////////|
*     +-------------+------+------+---------------------------+
*  18 |  OFBSIZE    |:FLAG1|:FLAG2|          OFBIOR           |
*     +-------------+------+------+---------------------------+
*  20 |                                                       |
*     =                       OFBLOCK                         =
*     |                                                       |
*     +---------------------------+---------------------------+
*  38 |         OFBUSER1          |         OFBUSER2          |
*     +---------------------------+---------------------------+
*  40 |                                                       |
*     =                        OFBFSB                         =
*     |                                                       |
*     +---------------------------+---------------------------+
*  80 |///////////////////////////|         OFBVFSZ           |
*     +---------------------------+---------------------------+
*  88 |                       OFBBBUFF                        |
*     +-------------------------------------------------------+
*  90 |                       OFBWBUFF                        |
*     +---------------------------+---------------------------+
*  98 |         OFBGBUFF          |         OFBABUFF          |
*     +---------------------------+---------------------------+
*  A0 |         OFBDBLK           |         OFBDCPTR          |
*     +---------------------------+---------------------------+
*  A8 |         OFBDBUFF          |///////////////////////////|
*     +---------------------------+---------------------------+
*
*** OFBK - CP Open File Block
          
*** Overlay for OFBPTRS in OFBK
*
*     +---------------------------+---------------------------+
*  B0 |         OFBPBLK           |         OFBPCPTR          |
*     +---------------------------+---------------------------+
*  B8 |         OFBPBUFF          |///////////////////////////|
*     +---------------------------+---------------------------+
*  C0
*
*** Overlay for OFBPTRS in OFBK

 

OFBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
OFBaBUFF       009C
OFBbBUFF       0088
OFBdBLK        00A0
OFBdBUFF       00A8
OFBdCPTR       00A4
OFBdDATA       00A8 01
OFBdPTR        00A0
OFBgBUFF       0098
OFBpBLK        00B0
OFBpBUFF       00B8
OFBpCPTR       00B4
OFBpDATA       00B8 01
OFBvFSB        0010
OFBwBUFF       0090
OFBBUFFR       001B 40
OFBCPVF        001B 02
OFBDRB         0004
OFBFLAG1       001A
OFBFLAG2       001B
OFBFSB         0040
OFBFWD         0000
OFBIOBUF       000C
OFBIOR         001C
OFBLOCK        0020
OFBMLEBK       0008
OFBOUTPT       001B 80
OFBPTR         00B0
OFBPTRL        00C0 00000010
OFBPTRS        00B0
OFBSEUDO       001A 80
OFBSIZE        0018
OFBSIZEB       00B0 000000B0
OFBSIZED       00B0 00000016
OFBUNIQE       001A 10
OFBUSER1       0038
OFBUSER2       003C
OFBVFsz        0084

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 17:04:40 EDT.
Copyright IBM Corporation, 1990, 2007