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 |