Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
OFBK
Control Block Contents
OFBK DSECT
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
Copyright IBM Corporation, 1990, 2009