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 |
* |