WMM - XRF Message queue anchor block

      CONTROL BLOCK NAME = DFHWMMPS
      DESCRIPTIVE NAME = CICS TS (XRF) Message queue anchor block
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1985, 1987 
      FUNCTION =
           Anchor for chain of in core message elements built by
           the XRF GETMSG process.
           An instance of this block is created for each distinct
           message queue name for which either the reader process
           retrieves messages from the message dataset, or for
           which GETMSG requests are issued by the CICS TCB.
           Each such block serves as an anchor for the chain of
           messages yet to be read, and contains the ECB on
           which a CICS transaction will wait if it issues a GETMSG
           for a queue with no messages pending.
      LIFETIME =
           Created by either the XRF message reader process under
           the XRF TCB, or by GETMSG under the CICS TCB, at the
           first appearance of a message queue name.
           Destroyed when the BACKUP either signs off, or takes over.
           This is done only under the CICS TCB at a time when it is
           known that no other CICS transactions have references to
           the block or anything depending on it.
      STORAGE CLASS =
           Non-CICS storage. Usually in MVS subpool 0 storage
           above 16M line.
      LOCATION =
           The anchor blocks are formed into hash chains using
           WMMAHASH as chain field and WMGGHT (in DFHWMGPS) as
           hash table.
      INNER CONTROL BLOCKS =
           WMME is the message queue element description. These
                    blocks form chains from the message anchor blocks
                    and contain the individual messages waiting to
                    be read. They are created by the reader process
                    when it reads a message, and destroyed by GETMSG
                    when the message has been delivered.
      NOTES :
       DEPENDENCIES = S/370
       RESTRICTIONS =
             None
       MODULE TYPE = Control block definition
     ------------------------------------------------------------------
      EXTERNAL REFERENCES =
        DATA AREAS =
            None
        CONTROL BLOCKS =
            None
        GLOBAL VARIABLES (Macro pass) =
            None
     ------------------------------------------------------------------
      Message Manager Message Queue Anchor Block
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 24 DFHWMMPS
(0) ADDRESS 4 WMMANEXT Address of next anchor block (first in chain is addressed from hash table in GETMSG global area).
(4) CHARACTER 4 WMMAQNAM Queue name.
(8) ADDRESS 4 WMMAFRST First element in message chain for this queue.
(C) ADDRESS 4 WMMALAST Last element in message chain for this queue.
(10) HALFWORD 2 WMMAHASH Hash table index
(12) BIT(16) 2 *
(12) 1... ....   WMMAEOD Flag set by reader process if EOD/SIGNOFF or an error occurs.
(12) BIT(15) POS(2) 2 * Reserved
(14) ADDRESS 4 WMMAECB ECB posted at 'End-of-data or whenever this queue becomes non-empty.
(14) 1... ....   *
(14) .1.. ....   WMMAPOST POST bit in ECB
(14) BIT(30) POS(3) 4 *
(18) CHARACTER 0 WMMAEND
      Message Queue Element
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 8 WMME
(0) CHARACTER 8 WMMECTL Control part of element
(0) ADDRESS 4 WMMEOLDR Next older element
(4) ADDRESS 4 WMMENEWR Next newer element
(8) CHARACTER 0 WMMEDATA Start of message data. This contains a copy of whole of the record read from the message dataset. See DFHWMRPS for format.