ZLUIT - ZCP local userid table definition

      CONTROL BLOCK NAME = DFHZLUIT
      DESCRIPTIVE NAME = CICS TS (ZCP) Local Userid Table definition.
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1989 
      FUNCTION =
           This control block contains the DSECTs for:
           1) Local Userid Table (LUIT) entries.
              The LUIT contains a list of Userids, who are using
              Persistent Verification, and are considered ALREADY
              VERIFIED for use on this connection.
           2) The Local Userid Table Area (LUITA).
              This is the header for each LUIT, containing a pointer
              to the first LUIT entry, the SYSID associated with the
              LUIT, and some flags. This DSECT is physically part of
              the TCSE, but contains only those TCSE fields required
              by DFHZCUT to perform its functions.
           There is one LUIT per connection, composed of a LUITA
           header followed by one entry for each userid that is
           Persistently Signed On.
           Both of these control blocks are owned by DFHZCUT.
      LIFETIME =
           For the LUITA - Lifetime of the TCSE - connection lifetime.
                           Destroyed when the TCSE is freed.
           For the LUIT entries - Task related. Tasks will attach and
                           add or reuse LUIT entries. As tasks end,
                           the use counts in the LUIT entries are
                           decremented. If the entries have not been
                           used for a set time (SIT - PVDELAY)
                           the LUIT entries will be deleted.
      STORAGE CLASS =
           The LUITA is part of the TCSE
           The LUIT entries come from Subpool USIDTBL
           They have a fixed length of 32 bytes.
      LOCATION =
           LOCAL_USERID_TABLE_AREA (LUITA) is a field in the TCSE.
           LOCAL_USERID_TABLE_ELEMENT is chained off:
             LUITA_HEAD_POINTER (TCSELUIT) for the first LUIT entry
             LUIT_FORWARD_POINTER for the next LUIT entry
                  (end of chain = Null pointer)
      INNER CONTROL BLOCKS =
           The LOCAL_USERID_TABLE_AREA is an inner control block of
           the TCSE defined at TCSEUTA
      NOTES :
       DEPENDENCIES = S/370
       RESTRICTIONS =
       MODULE TYPE = Control block definition
      EXTERNAL REFERENCES =
            None
        DATA AREAS =
            None
        CONTROL BLOCKS =
            None
        GLOBAL VARIABLES (Macro pass) =
            None
     ------------------------------------------------------------------
      The Local Userid Table Area is a sub control block within the
      TCSE - at TCSEUTA.
      DFHZCUT uses the LUITA as the head control block for the LUIT.
        HEAD_POINTER points to the start of the LUIT element chain.
        SYSID is the 4 char connection sysid associated with the LUIT.
        FLAGS that are used in Time Out of the LUIT entries:
          TIME_OUT_IN_PROGRESS
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 12 LOCAL_USERID_TABLE_ AREA
(0) ADDRESS 4 LUITA_HEAD_POINTER
(4) CHARACTER 4 LUITA_SYSID
(8) BIT(8) 1 LUITA_FLAGS
(8) 1... ....   LUITA_TIME_OUT_IN_ PROGRESS
(8) .111 1111   * Reserved
(9) CHARACTER 3 * Reserved
      The Local Userid Table Elements consist of userids that are using
      Persistent Verification for a particular SYSID.
        FORWARD_POINTER is used to chain to the next element - search
        BACKWARD_POINTER is used when deleting entries from the middle
            of the list.
        TIME_LAST_END_BRACKET is set to zero when the entry is added
            to the list. Subsequently, it is set to the 4 High Order
            bytes of the STCK macro time, whenever tasks that use the
            entry send an end bracket to complete the session ( at task
            end). The time is used to remove the LUIT entry from the
            list if the count is zero, and the entry has not been used
            for a set time.
        USE_COUNT is the total number of transactions currently running
            that are using this LUIT entry.
        FLAGS
          LOGICALLY_DELETED indicates that the LUIT entry has logically
            and architecturally been deleted, however since the use
            count is non zero, we must wait for the transactions that
            are currently using it to end, before we can Freemain it.
            Note. Instead of adding a new entry to the list a logically
            deleted entry can be made valid again. This saves us from
            having multiple entries for the same userid.
        USERID is the userid (and length) that is using PV and can
            be considered Already Verified for use on the connection.
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 32 LOCAL_USERID_TABLE_ ELEMENT
(0) ADDRESS 4 LUIT_FORWARD_POINTER
(4) ADDRESS 4 LUIT_BACKWARD_POINTER
(8) UNSIGNED 4 LUIT_TIME_LAST_END_ BRACKET
(C) HALFWORD 2 LUIT_USE_COUNT
(E) UNSIGNED 1 LUIT_FLAGS
(E) 1... ....   LUIT_LOGICALLY_ DELETED
(E) .1.. ....   LUIT_PENDING_TIME_OUT
(E) ..11 1111   *
(F) CHARACTER 9 LUIT_USERID
(F) UNSIGNED 1 LUIT_USERID_LENGTH
(10) CHARACTER 8 LUIT_USERID_TEXT
(18) CHARACTER 8 * Reserved