MBCA - Transient data buffer control

       DESCRIPTIVE NAME = Transient Data Buffer Control
                          CICS/ESA AP Domain
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1982, 1994 
      FUNCTION =
           Copybook DFHMBCPS provides structures, DFHMBCA and
           DFHMBCB and DFHMQCB.
           DFHMBCA describes the Buffer Common Area (MBCA),
           only one MBCA is allocated.
           DFHMBCB describes the Buffer Control Block (MBCB),
           one MBCB is allocated for each I/O buffer.
           DFHMQCB describes the Queue Control Block (MQCB),
           one MQCB is allocated for each I/O buffer. MQCBs
           are used to optimize the search for I/O buffers
           containing records for a given queue.
      LIFETIME =
           The lifetime of the control blocks and I/O buffers
           is essentially that of CICS.
      STORAGE CLASS =
           The control blocks are located in storage allocated
           from the DFHTDG31 subpool.
           The I/O buffers, if required, are located in storage
           allocated from the DFHTDIOB subpool.
           Note that the number of I/O buffers is defined as
           a SIT parameter / override.
           Note also that the number of I/O buffers allocated
           may exceed the number requests where this does not
           cause further pages to be allocated.
      LOCATION =
           The MBCA is located from the TDST.
           MBCBs are located on one of three bi-directional
           chains whose anchors are located in the MBCA
             1. unallocated, I/O buffer is (logically) empty
             2. unallocated, I/O buffer contains valid data
             3. allocated, I/O buffer is (logically) modified
           MQCBs are located on one of many bi-directional
           chains
             1. anchor located in the MBCA when the associated
                MBCB is on chain 1
             2. anchor located in the relevant DCTE when the
                associated MBCB is on chain 2 or chain 3.
           Each MQCB may be located from its associated MBCB
           and vice versa.
      INNER CONTROL BLOCKS =
           There are no inner control blocks.
      NOTES :
       DEPENDENCIES =
           S/370
       RESTRICTIONS =
           There are no restrictions.
       MODULE TYPE =
           Control block definition.
                 MULTIPLE BUFFERS - BUFFER COMMON AREA (MBCA)
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 112 DFHMBCA
(0) CHARACTER 16 MBCA_PREFIX prefix
(0) HALFWORD 2 MBCA_LENGTH - length
(2) CHARACTER 1 MBCA_ARROW - value - '>'
(3) CHARACTER 3 MBCA_DFH - value - 'DFH'
(6) CHARACTER 2 MBCA_DOMID - value - 'TD'
(8) CHARACTER 8 MBCA_BLOCK - value - 'MBCA '
(10) CHARACTER 4 * MBCA STATUS
(10) CHARACTER 1 MBCAFLG0 - I/O BUFFERS
(10) 1... ....   MBCABFAL - ALLOCATED
(10) .1.. ....   MBCABFRQ - REQUIRED
(10) ..11 1111   * - Reserved
(11) CHARACTER 1 MBCAFLG1 - Reserved
(11) BIT(8) 1 * - Reserved
(12) CHARACTER 1 MBCAFLG2 - Reserved
(12) BIT(8) 1 * - Reserved
(13) CHARACTER 1 MBCAFLG3 - Reserved
(13) BIT(8) 1 * - Reserved
(14) CHARACTER 12 * I/O BUFFERS
(14) FULLWORD 4 MBCANBFR - #(BUFFERS REQUESTED)
(18) FULLWORD 4 MBCANBFA - #(BUFFERS ALLOCATED)
(1C) FULLWORD 4 MBCABFSZ - L(EACH BUFFER)
(20) CHARACTER 32 * MBCB CHAIN ANCHORS
(20) CHARACTER 8 MBCACHN1 - UNALLOC/EMPTY CHAIN
(20) ADDRESS 4 MBCAFCN1 - A(FIRST MBCB)
(24) ADDRESS 4 MBCABCN1 - A(LAST MBCB)
(28) CHARACTER 8 MBCACHN2 - UNALLOC/VALID CHAIN
(28) ADDRESS 4 MBCAFCN2 - A(FIRST MBCB)
(2C) ADDRESS 4 MBCABCN2 - A(LAST MBCB)
(30) CHARACTER 8 MBCACHN3 - ALLOCATED CHAIN
(30) ADDRESS 4 MBCAFCN3 - A(FIRST MBCB)
(34) ADDRESS 4 MBCABCN3 - A(LAST MBCB)
(38) CHARACTER 8 MBCACHNS - STATIC CHAIN
(38) ADDRESS 4 MBCAFCNS - A(FIRST MBCB)
(3C) ADDRESS 4 * - Reserved
(40) CHARACTER 8 * MQCB CHAIN ANCHORS
(40) CHARACTER 8 MBCACHNQ - QUEUE INDEPENDENT CHAIN
(40) ADDRESS 4 MBCAFCNQ - A(FIRST MQCB)
(44) ADDRESS 4 MBCABCNQ - A(LAST MQCB)
(48) CHARACTER 8 MBCA_SRC MBCB allocation chain
(48) ADDRESS 4 MBCA_TCA_P - A(owning TCA) or 0
(4C) ADDRESS 4 MBCA_MWCB_P - A(first MWCB) or 0
(50) CHARACTER 32 * MBCB STATISTICS
(50) CHARACTER 12 * - ALLOCATION REQUESTS
(50) FULLWORD 4 MBCATNAL - TOTAL
(54) FULLWORD 4 MBCACNAL - CURRENT CONCURRENT
(58) FULLWORD 4 MBCAMXAL - MAXIMUM CONCURRENT
(5C) CHARACTER 12 * - QUEUED REQUESTS
(5C) FULLWORD 4 MBCATNWT - TOTAL
(60) FULLWORD 4 MBCACNWT - CURRENT CONCURRENT
(64) FULLWORD 4 MBCAMXWT - MAXIMUM CONCURRENT
(68) CHARACTER 8 * - # CONTAINING VALID DATA
(68) FULLWORD 4 MBCACNIU - CURRENT
(6C) FULLWORD 4 MBCAMXIU - MAXIMUM
(70) CHARACTER 0 *
                 MULTIPLE BUFFERS - BUFFER CONTROL BLOCK (MBCB)
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 56 DFHMBCB
(0) CHARACTER 12 * MBCB CHAINS
(0) CHARACTER 8 * - STATUS SPECIFIC CHAIN
(0) ADDRESS 4 MBCBFCHN - A(NEXT MBCB)
(4) ADDRESS 4 MBCBBCHN - A(PREVIOUS MBCB)
(8) CHARACTER 4 * - STATIC CHAIN
(8) ADDRESS 4 MBCBSCHN - A(NEXT MBCB) OR 0
(C) CHARACTER 4 * I/O BUFFER STATUS
(C) CHARACTER 1 MBCBFLG0 - ALLOCATION
(C) 1... ....   MBCBLCKD - PREEMPTED
(C) .111 1111   * - Reserved
(D) CHARACTER 1 MBCBFLG1 - CONTENTS
(D) 1... ....   MBCBVALD - VALID
(D) .111 1111   * - Reserved
(E) CHARACTER 1 MBCBFLG2 - ACTIONS
(E) 1... ....   MBCBPTRQ - WRITE
(E) .1.. ....   MBCBGTRQ - READ
(E) ..11 1111   * - Reserved
(F) CHARACTER 1 MBCBFLG3 - Reserved
(F) BIT(8) 1 * - Reserved
(10) CHARACTER 24 * I/O BUFFER PARAMETERS
(10) CHARACTER 12 * - LOCATION, DEFINED BY
(10) ADDRESS 4 MBCBABFR - A(I/O BUFFER)
(14) FULLWORD 4 MBCBLBFR - L(I/O BUFFER)
(18) ADDRESS 4 MBCBACDF - A(CIDF)
(1C) CHARACTER 8 * - CONTENTS, DEFINED BY
(1C) FULLWORD 4 MBCBCRBA - RBA(CI)
(20) ADDRESS 4 MBCBMRCA - A(MRCA)
(24) ADDRESS 4 MBCB_DCTE_P - A(DCTE) or 0
(28) CHARACTER 8 * associated control blocks
(28) ADDRESS 4 MBCB_MQCB_P - A(MQCB)
(2C) ADDRESS 4 MBCB_MRCB_P - A(MRCB) or 0
(30) CHARACTER 8 MBCB_SRC MBCB preemption chain
(30) ADDRESS 4 MBCB_TCA_P - A(owning TCA) or 0
(34) ADDRESS 4 MBCB_MWCB_P - A(first MWCB) or 0
(38) CHARACTER 0 *
                 MULTIPLE BUFFERS - QUEUE CONTROL BLOCK (MQCB)
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 16 DFHMQCB
(0) CHARACTER 8 * QUEUE SPECIFIC CHAIN
(0) ADDRESS 4 MQCBFCHN - A(NEXT MQCB)
(4) ADDRESS 4 MQCBBCHN - A(PREVIOUS MQCB)
(8) CHARACTER 8 * associated control blocks
(8) ADDRESS 4 MQCB_MBCB_P - A(MBCB)
(C) CHARACTER 4 * - Reserved
(10) CHARACTER 0 *