BMSBK - 32-bit CP - V4R4.0

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

#### BMSBK

Prolog

Control Block Contents
BMSBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### BMSBK Prolog

     NAME       : HCPBMSBK
     DESCRIPTION: BUFFER MANAGEMENT SERVICE CONTROL BLOCK
     DSECT      : BMSBK
     FUNCTION   : CONTAINS THE CURRENT STATUS OF A BUFFER
                  MANAGEMENT TASK
     LOCATED BY : USAGE DEPENDENT
     CREATED BY : HCPBMSIN
     DELETED BY : HCPBMSTM
     EMPLOYED BY- HCPBMSRA : WHEN RETURNING A LIST OF BUFFERS
                  TO THE AVAILABLE STACK
                  HCPBMSOA : WHEN OBTAINING A LIST OF BUFFERS
                  FROM THE AVAILABLE STACK
                  HCPBMSGA : WHEN GETTING A BUFFER FROM THE
                  AVAILABLE STACK
                  HCPBMSAA : WHEN ADDING BUFFERS FROM FREE
                  STORAGE TO THE AVAILABLE STACK
                  HCPBMSSA : WHEN RETURNING BUFFERS FROM THE
                  AVAILABLE STACK TO FREE STORAGE
                  HCPBMSPP : WHEN PUTTING A BUFFER ON THE
                  PENDING QUEUE
                  HCPBMSOP : WHEN OBTAINING A LIST OF BUFFERS
                  FROM THE PENDING QUEUE
                  HCPBMSQP : WHEN GETTING THE COUNT OF BUFFERS
                  ON THE PENDING QUEUE
     COMMENTS   : SERIALIZED BY THE BMSBK LOCK, BMSLOCK FOR
                  ALL ENTRY POINTS EXCEPT HCPBMSIN.

#### BMSBK Control Block Content

#### BMSBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      BMSBK          BUFFER MANAGEMENT SERVICE CONTROL
                                            BLOCK
         BUFFER MANAGEMENT SERVICE INFORMATION
    0000    0 Signed       4 * (0)          BLOCK STATUS
    0000    0 Bitstring    1 BMSSTTYP       FREE STORAGE INDICATOR
              .... ...1      BMSPAG         X'01' BMSBK IS A REAL FRAME
                                            (PAGE)
              .... ..1.      BMSFRE         X'02' BMSBK IS FROM FREE STORAGE
              .... .1..      BMSFIXED       X'04' BMSBK DESCRIBES A BUFFER
                                            POOL THAT IS A FIXED SIZE (USED
                                            BY TRSAVE FOR CP ON)
              .... 1...      BMSDFRIO       X'08' Wrap buffers in real
                                            storage
    0001    1 Bitstring    1 *              RESERVED FOR FUTURE USE
    0002    2 Signed       2 BMSDWSZ        DOUBLE WORD SIZE OF BLOCK THIS
                                            FIELD IS ONLY USED WHEN THIS
                                            BLOCK IS CREATED FORM FREE
                                            STORAGE
    0004    4 Signed       4 BMSBUFCT       COUNT OF TOTAL BUFFERS Within a
                                            chain of BMSBKs, this field is
                                            only meaningful in the first
                                            BMSBK of the chain
    0008    8 Signed       4 BMSAVBCT       COUNT OF AVAILABLE BUFFERS Within
                                            a chain of BMSBKs, this field is
                                            only meaningful in the first
                                            BMSBK of the chain
    000C   12 Signed       4 BMSPDBCT       COUNT OF PENDING BUFFERS Within a
                                            chain of BMSBKs, this field is
                                            only meaningful in the first
                                            BMSBK of the chain
    0010   16 Signed       4 BMSRTBCT       COUNT OF BUFFERS RETURNED TO THE
                                            AVAILABLE STACK
    0014   20 Signed       4 *              RESERVED FOR FUTURE USE
         BUFFER LOCKS
    0018   24 Dbl-Word     8 BMSLOCK (3)    SPIN LOCK FOR THE BMS BLOCK
                                            Within a chain of BMSBKs, this
                                            field is only meaningful in the
                                            first BMSBK of the chain
         AVAILABLE BUFFERS
    0030   48 Address      4 BMSAVPTR       POINTER TO AVAILABLE BUFFERS
                                            Within a chain of BMSBKs, this
                                            field is only meaningful in the
                                            first BMSBK of the chain
         PENDING BUFFERS
    0034   52 Address      4 BMSNEXT        Pointer to next BMSBK in chain of
                                            BMSBKs
    0038   56 Address      4 BMSBMOFF       Pointer to BMSBK which contains
                                            oldest pending buffer. Within a
                                            chain of BMSBKs, this field is
                                            only meaningful in the first
                                            BMSBK of the chain
    003C   60 Address      4 BMSBMON        Pointer to BMSBK which contains
                                            next available slot. Within a
                                            chain of BMSBKs, this field is
                                            only meaningful in the first
                                            BMSBK of the chain
    0040   64 Address      4 BMSPDOFF       POINTER TO FIRST BUFFER ON THE
                                            QUEUE
    0044   68 Address      4 BMSPDON        POINTER TO NEXT AVAILABLE SLOT ON
                                            THE QUEUE
    0048   72 Address      4 BMSPDLST       ADDRESS OF THE LAST SLOT IN THE
                                            ARRAY
              0000000A       BMSHSIZE       (*-BMSBK+7)/8 SIZE OF THE BMS
                                            HEADER
    004C   76 Address      4 BMSPDST (0)    START OF VARIABLE LENGTH DATA
                                            ARRAY OF POINTERS TO PENDING
                                            BUFFERS 1000 BUFFERS ARE MAXIMUM

#### BMSBK Storage Layout

    *** BMSBK - BUFFER MANAGEMENT SERVICE CONTROL BLOCK
    *
    *     +------+------+-------------+---------------------------+
    *   0 |:STTYP|//////|  BMSDWSZ    |         BMSBUFCT          |
    *     +------+------+-------------+---------------------------+
    *   8 |         BMSAVBCT          |         BMSPDBCT          |
    *     +---------------------------+---------------------------+
    *  10 |         BMSRTBCT          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  18 |                                                       |
    *     =                       BMSLOCK                         =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  30 |         BMSAVPTR          |         BMSNEXT           |
    *     +---------------------------+---------------------------+
    *  38 |         BMSBMOFF          |         BMSBMON           |
    *     +---------------------------+---------------------------+
    *  40 |         BMSPDOFF          |         BMSPDON           |
    *     +---------------------------+---------------------------+
    *  48 |         BMSPDLST          |
    *     +---------------------------+
    *
    *** BMSBK - BUFFER MANAGEMENT SERVICE CONTROL BLOCK

#### BMSBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    BMSAVBCT       0008
    BMSAVPTR       0030
    BMSBMOFF       0038
    BMSBMON        003C
    BMSBUFCT       0004
    BMSDFRIO       0000 08
    BMSDWSZ        0002
    BMSFIXED       0000 04
    BMSFRE         0000 02
    BMSHSIZE       0048 0000000A
    BMSLOCK        0018
    BMSNEXT        0034
    BMSPAG         0000 01
    BMSPDBCT       000C
    BMSPDLST       0048
    BMSPDOFF       0040
    BMSPDON        0044
    BMSPDST        004C
    BMSRTBCT       0010
    BMSSTTYP       0000

This information is based on z/VM V4R4.0. Last updated on 29 Jul 2003 at 15:15:46 EDT.
Copyright IBM Corporation, 1990, 2003