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'
                                            Notes : ALOCSPOL == PGTSPOOL ==
                                            PGUSPOOL == CPVTEMPS:
    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'
                                            Notes : ALOCSPOL == PGTSPOOL ==
                                            PGUSPOOL == CPVTEMPS:
    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
    ALOCDRCT       00D4 40
    ALOCDRCT       00D5 40
    ALOCFULL       00D4 10
    ALOCFULL       00D5 10
    ALOCPERM       00D4 08
    ALOCPERM       00D5 08
    ALOCSPOL       00D4 02
    ALOCSPOL       00D5 02
    ALOCTDSK       00D4 20
    ALOCTDSK       00D5 20
    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 V5R2.0. Last updated on 12 Apr 2006 at 17:37:46 EDT.
Copyright IBM Corporation, 1990, 2005