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

VEXBK

Prolog  

Control Block Contents  
   VEXBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


VEXBK Prolog

 NAME       : HCPVEXBK
 DESCRIPTION: Volume EXtent block
 DSECT      : VEXBK
 FUNCTION   : Contains information about all of the extents on a
              CP-owned volume.
 LOCATED BY : CPVVEXBK
 CREATED BY : HCPRDAAT when CP-owned volume attached
              to system
 DELETED BY : HCPRDDDT when CP-owned volume detached
              from system
 REFERENCES : HCPEXTBK - Extent block
 SERIALIZED : Allocation locks
 Notes      : The fields starting at VEXPGACA and VEXSPACA each cannot
              cross a 256-byte boundary because the internal CASBK
              pointers (CASNXT) are one-byte fields.  To guarantee
              these fields do not cross a 256 byte-boundary,
              ALLOC=ALIGNED is specified in IDOFFSET macro AND
              currently the block has a maximum length of 256 bytes.
              The length of 256 bytes PLUS ALLOC=ALIGNED forces the
              control block to be located on a 256-byte boundary.
              If this control block grows larger than 256 bytes,
              then VEXSIZE as well as the locations of VEXPGACA and
              VEXSPACA may need to change.

 

VEXBK Control Block Content


VEXBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      VEXBK          Volume EXtent block
     The following section of the VEXBK contains information regarding the
     PAGE space on this volume. This information is for page slot
     allocation. This is the area containing page CASBKs (groups of
     Contiguous Available Slots) and is mapped by ACABK DSECT (Area for
     Contiguous Available Slots).
0000    0 Dbl-Word     8 * (0)
0000    0 Signed       4 VEXPGACA (16)  Contains 16 CASBKs used by slot
                                        allocation.
0040   64 Signed       4 *              Current slot number in EXTBK
                                        (start search for new CASBK here)
0044   68 Signed       4 *              Last slot in current cylinder
0048   72 Signed       4 *              Current cylinder in EXTBK
004C   76 Signed       4 *              Pointer to current EXTBK
0050   80 Bitstring    1 *              Index into ACABK of first CASBK
0051   81 Bitstring    1 *              Index into ACABK of last CASBK
0052   82 Bitstring    1 *              Flags
0053   83 Bitstring    1 * (5)          Reserved for IBM use
     The following section of the VEXBK contains information regarding the
     SPOOL space on this volume. This information is for spool slot
     allocation. This is the area containing page CASBKs (groups of
     Contiguous Available Slots) and is mapped by ACABK DSECT (Area for
     Contiguous Available Slots).
0058   88 Dbl-Word     8 * (0)
0058   88 Signed       4 VEXSPACA (16)  Contains 16 CASBKs used by slot
                                        allocation.
0098  152 Signed       4 *              Current slot number in EXTBK
                                        (start search for new CASBK here)
009C  156 Signed       4 *              Last slot in current cylinder
00A0  160 Signed       4 *              Current cylinder in EXTBK
00A4  164 Signed       4 *              Pointer to current EXTBK
00A8  168 Bitstring    1 *              Index into ACABK of first CASBK
00A9  169 Bitstring    1 *              Index into ACABK of last CASBK
00AA  170 Bitstring    1 *              Flags
00AB  171 Bitstring    1 * (5)          Reserved for IBM use
     The following section of the VEXBK is a general section containing
     pointers to the first EXTBK of each type and the number of EXTBKs of
     each type, as well as descriptions about the device geometry.
     If one of the following pointers is 0, then no space of that type
     exists on the volume.
00B0  176 Signed       4 VEXPGEXT       Ptr to 1st page EXTBK on volume
          00000004       VEXPTRL        *-VEXPGEXT Length of each pointer
                                        field
00B4  180 Signed       4 VEXSPEXT       Ptr to 1st spool EXTBK on volume
00B8  184 Signed       4 VEXTDEXT       Ptr to 1st tdsk EXTBK on volume
00BC  188 Signed       4 VEXDREXT       Ptr to 1st drct EXTBK on volume
00C0  192 Signed       4 VEXPEEXT       Ptr to 1st perm EXTBK on volume
          00000014       VEXPTRT        *-VEXPGEXT Total area for
                                        pointers
          00000005       VEXTYP         VEXPTRT/VEXPTRL Number of
                                        allocation types with EXTBKs
00C4  196 Signed       4 VEX1SEXT       Pointer to 1st EXTBK of any type
00C8  200 Signed       2 VEXPGNUM       Number page EXTBKs on volume
          00000002       VEXCTRL        *-VEXPGNUM Length of each counter
                                        field
00CA  202 Signed       2 VEXSPNUM       Number spool EXTBKs on volume
00CC  204 Signed       2 VEXTDNUM       Number tdsk EXTBKs on volume
00CE  206 Signed       2 VEXDRNUM       Number drct EXTBKs on volume
00D0  208 Signed       2 VEXPENUM       Number perm EXTBKs on volume
00D2  210 Signed       2 VEXNUMEX       Total number EXTBKs on volume
00D4  212 Bitstring    1 VEXTYPES       Indicates all allocation types
                                        that exist on the volume. PARM
                                        and UNDF types are marked
                                        separately in VEXFLAGS.
          1... ....      ALOCATED       X'80' CYLINDER IS CURRENTLY IN
                                        USE THIS TYPE OF ALLOCATION
                                        SHOULD ONLY BE USED IN
                                        CONJUNCTION WITH THE TYPE 'DRCT'
          .1.. ....      ALOCDRCT       X'40' ALLOCATION TYPE 'DRCT'
          ..1. ....      ALOCTDSK       X'20' ALLOCATION TYPE 'TDSK'
          ...1 ....      ALOCFULL       X'10' CYLINDER IS FULL NOTE-
                                        ALOCFULL is used only in
                                        combination with SPOL & PAGE
          .... 1...      ALOCPERM       X'08' ALLOCATION TYPE 'PERM'
          .... ..1.      ALOCSPOL       X'02' ALLOCATION TYPE 'SPOL'
          .... ...1      ALOCPAGE       X'01' ALLOCATION TYPE 'PAGE'
                                        Notes : ALOCPAGE == PGTPAGE ==
                                        PGUPAGE == CPVTEMPP:
          .... 11..      ALOCMDSK       X'0C' Allocation type 'MDSK'
          ...1 11..      ALOCMORE       X'1C' Allocation type 'MORE'
          1... ....      ALOCDRAN       X'80' Device is permanently
                                        drained.
          .... ....      ALOCUNDF       X'00' Undefined allocation type;
                                        these cylinders/pages are ignored
00D5  213 Bitstring    1 VEXAVAIL       Indicates which types have
                                        available space on the volume.
                                        PARM and UNDF types are marked
                                        separately in VEXFLAGS.
          1... ....      ALOCATED       X'80' CYLINDER IS CURRENTLY IN
                                        USE THIS TYPE OF ALLOCATION
                                        SHOULD ONLY BE USED IN
                                        CONJUNCTION WITH THE TYPE 'DRCT'
          .1.. ....      ALOCDRCT       X'40' ALLOCATION TYPE 'DRCT'
          ..1. ....      ALOCTDSK       X'20' ALLOCATION TYPE 'TDSK'
          ...1 ....      ALOCFULL       X'10' CYLINDER IS FULL NOTE-
                                        ALOCFULL is used only in
                                        combination with SPOL & PAGE
          .... 1...      ALOCPERM       X'08' ALLOCATION TYPE 'PERM'
          .... ..1.      ALOCSPOL       X'02' ALLOCATION TYPE 'SPOL'
          .... ...1      ALOCPAGE       X'01' ALLOCATION TYPE 'PAGE'
                                        Notes : ALOCPAGE == PGTPAGE ==
                                        PGUPAGE == CPVTEMPP:
          .... 11..      ALOCMDSK       X'0C' Allocation type 'MDSK'
          ...1 11..      ALOCMORE       X'1C' Allocation type 'MORE'
          1... ....      ALOCDRAN       X'80' Device is permanently
                                        drained.
          .... ....      ALOCUNDF       X'00' Undefined allocation type;
                                        these cylinders/pages are ignored
00D6  214 Signed       2 VEXPGCYL       Pages per cylinder (Valid only
                                        for CKD devices)
00D8  216 Bitstring    1 VEXVOL         Volume index (v of ccpv)
00D9  217 Bitstring    1 VEXFLAGS       Flag byte
          1... ....      VEXFBA         X'80' FBA indicator
          .1.. ....      VEXNFIL        X'40' Device formatted without
                                        filler records
          ..1. ....      VEXUNDF        X'20' Device contains undefined
                                        allocation types. Those areas
                                        will be ignored.
          ...1 ....      VEXPARM        X'10' Device contains cyls/pages
                                        with PARM allocation type
00DA  218 Bitstring    1 * (2)          Reserved for IBM use
00DC  220 Signed       4 VEXEND         Number of cylinders (CKD) or
                                        slots (FBA) on device
00E0  224 Signed       4 VEXMXCYL       Maximum number of cylinders per
                                        page/spool EXTBK (Used only for
                                        CKD device)
          00000020       VEXSIZE        256/8 Current maximum size of
                                        VEXBK in Dwords. This forces
                                        VEXBK to be aligned on a 256-byte
                                        boundary.

 

VEXBK Storage Layout

          
*** VEXBK - Volume EXtent block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       VEXPGACA                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  40 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  48 |///////////////////////////|///////////////////////////|
*     +------+------+------+------+---------------------------+
*  50 |//////|//////|//////|//////////////////////////////////|
*     +------+------+------+----------------------------------+
*  58 |                                                       |
*     =                       VEXSPACA                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  98 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  A0 |///////////////////////////|///////////////////////////|
*     +------+------+------+------+---------------------------+
*  A8 |//////|//////|//////|//////////////////////////////////|
*     +------+------+------+------+---------------------------+
*  B0 |         VEXPGEXT          |         VEXSPEXT          |
*     +---------------------------+---------------------------+
*  B8 |         VEXTDEXT          |         VEXDREXT          |
*     +---------------------------+---------------------------+
*  C0 |         VEXPEEXT          |         VEX1SEXT          |
*     +-------------+-------------+-------------+-------------+
*  C8 |  VEXPGNUM   |  VEXSPNUM   |  VEXTDNUM   |  VEXDRNUM   |
*     +-------------+-------------+------+------+-------------+
*  D0 |  VEXPENUM   |  VEXNUMEX   |:TYPES|:AVAIL|  VEXPGCYL   |
*     +------+------+-------------+------+------+-------------+
*  D8 |VEXVOL|:FLAGS|/////////////|          VEXEND           |
*     +------+------+-------------+---------------------------+
*  E0 |         VEXMXCYL          | E4
*     +---------------------------+
*
*** VEXBK - Volume EXtent block

 

VEXBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
ALOCATED       00D4 80
ALOCATED       00D5 80
ALOCDRAN       00D4 80
ALOCDRAN       00D5 80
ALOCDRCT       00D4 40
ALOCDRCT       00D5 40
ALOCFULL       00D4 10
ALOCFULL       00D5 10
ALOCMDSK       00D4 0C
ALOCMDSK       00D5 0C
ALOCMORE       00D4 1C
ALOCMORE       00D5 1C
ALOCPAGE       00D4 01
ALOCPAGE       00D5 01
ALOCPERM       00D4 08
ALOCPERM       00D5 08
ALOCSPOL       00D4 02
ALOCSPOL       00D5 02
ALOCTDSK       00D4 20
ALOCTDSK       00D5 20
ALOCUNDF       00D4 00
ALOCUNDF       00D5 00
VEXAVAIL       00D5
VEXCTRL        00C8 00000002
VEXDREXT       00BC
VEXDRNUM       00CE
VEXEND         00DC
VEXFBA         00D9 80
VEXFLAGS       00D9
VEXMXCYL       00E0
VEXNFIL        00D9 40
VEXNUMEX       00D2
VEXPARM        00D9 10
VEXPEEXT       00C0
VEXPENUM       00D0
VEXPGACA       0000
VEXPGCYL       00D6
VEXPGEXT       00B0
VEXPGNUM       00C8
VEXPTRL        00B0 00000004
VEXPTRT        00C0 00000014
VEXSIZE        00E0 00000020
VEXSPACA       0058
VEXSPEXT       00B4
VEXSPNUM       00CA
VEXTDEXT       00B8
VEXTDNUM       00CC
VEXTYP         00C0 00000005
VEXTYPES       00D4
VEXUNDF        00D9 20
VEXVOL         00D8
VEX1SEXT       00C4

This information is based on z/VM V4R1.0.
Last updated on 5 Jun 2001 at 17:10:52 EDT.
Copyright IBM Corporation, 1990, 2001