SNEX - Signon Extension Block

      CONTROL BLOCK NAME = DFHSNEXC
      DESCRIPTIVE NAME = CICS TS Sign-on Extension to the TCTTE
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1993, 2001 
      FUNCTION =
                  The Signon Extension is owned by the Signon
                  component of the AP Domain and contains information
                  related to the Signon and Terminal Timeout processes.
                  Each TCTTE has its own Signon Extension which is
                  pointed to by the TCTESNEX pointer.
      LIFETIME =
                  A SNEX is created at the same time that a TCTTE is
                  created when a terminal definition is installed.
      STORAGE CLASS =
                  CICS storage, above the 16Mb line in the subpool
                  'SNEX'. No element chaining.
      LOCATION =
                  A SNEX is located by using the TCTESNEX pointer in
                  the TCTTE.
      NOTES :
       DEPENDENCIES = S/390
       MODULE TYPE = Control block definition
     ------------------------------------------------------------------
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 56 DFHSNEX Start of SNEX control block
    Userid:
      SNEX_USERID:
                                 This field is used to contain the
                                 preset userid for macro defined
                                 terminals only. When the terminal
                                 has been installed, and the userid
                                 has been signed on, this field is
                                 overlaid by the principal user
                                 token and session user token (null).
                                 The flag SNEX_PRESET_USERID_PRESENT
                                 indicates whether this field
                                 currently contains a userid or
                                 tokens.
(0) CHARACTER 8 SNEX_USERID
    User Tokens:
      SNEX_PRINCIPAL_USER_TOKEN:
                                 This field contains the user token
                                 associated with the user currently
                                 signed on at this terminal.
      SNEX_SESSION_USER_TOKEN:
                                 If this terminal represents a
                                 session, this field contains the
                                 user token associated with the
                                 userid signed on at this terminal.
(0) UNSIGNED 4 SNEX_PRINCIPAL_USER_ TOKEN
(4) UNSIGNED 4 SNEX_SESSION_USER_ TOKEN
    Terminal Timeout Information:
      SNEX_TIMEOUT_TIME:
                                 This is the time (in STCK format)
                                 that this terminal is next due to
                                 timeout.
      SNEX_TIMEOUT_INTERVAL:
                                 This is the timeout interval for
                                 the currently signed on user
                                 expressed as the top word of a STCK
                                 value.
      SNEX_TIMEOUT_FLAGS:
        SNEX_TIMEOUT_ELIGIBLE This flag is on only if the terminal
                                 is eligible for timeout processing.
                                 To be eligible, the terminal must:
                                 - not be defined with SIGNOFF=NO
                                 - not have preset security
                                 - be signed on
                                 - be signed on by a userid that
                                    has a non-zero timeout interval
                                 - not be performing transaction
                                    routing unless under the CRTE
                                    transaction
        SNEX_TIMEOUT_ENABLED:
                                 When ON this flag indicates that the
                                 terminal is in the TIMEOUT ENABLED
                                 state. When OFF this flag indicates
                                 that the terminal is in the
                                 TIMEOUT DISABLED state.
        SNEX_TIMEOUT_TIMEDOUT:
                                 When ON this flag indicates that the
                                 terminal is currently being timed
                                 out.
        SNEX_SAVED_ATI_STATUS:
                                 This flag is used to save the
                                 setting of the ATI status of the
                                 terminal while the goodnight
                                 transaction is being scheduled.
(8) CHARACTER 8 SNEX_TIMEOUT_TIME
(8) UNSIGNED 4 HIGH_WORD
(C) UNSIGNED 4 LOW_WORD
(10) UNSIGNED 4 SNEX_TIMEOUT_INTERVAL
(14) BIT(8) 1 SNEX_TIMEOUT_FLAGS
(14) 1... ....   SNEX_TIMEOUT_ELIGIBLE
(14) .1.. ....   SNEX_TIMEOUT_ENABLED
(14) ..1. ....   SNEX_TIMEOUT_TIMEDOUT
(14) ...1 ....   SNEX_SAVED_ATI_STATUS
(14) .... 1111   * Reserved
    XRF Information
    SNEX_XRF_FLAGS:
      SNEX_XRF_REFLECTABLE:
                                 This flag indicates whether the
                                 terminal should have its signon
                                 state reflected on an ALTERNATE XRF
                                 system. For this flag to be ON, the
                                 XRFSOFF SIT parameter must be set
                                 to NOFORCE, the XRFSIGNOFF flag in
                                 the terminal's TYPETERM definition
                                 must be set to NOFORCE and the
                                 users CICS segment in RACF must
                                 show that the user is not to be
                                 signed off after an XRF takeover.
                                 If any of the above conditions are
                                 false, this flag is set OFF.
(15) BIT(8) 1 SNEX_XRF_FLAGS
(15) 1... ....   SNEX_XRF_REFLECTABLE
(15) .1.. ....   SNEX_SIGNON_CATLGD User data written to catalog for PS restart
(15) ..1. ....   SNEX_AWAITING_SIGNON Not yet signed on after PS restart
(15) ...1 1111   *
    Userid Length
    SNEX_USERID_LENGTH This field contains the length of
                                 the userid contained in SNEX_USERID.
                                 This field is only valid for macro
                                 defined terminals. Once the
                                 terminal has been installed by CICS
                                 this field is returned to zeros.
(16) UNSIGNED 1 SNEX_USERID_LENGTH
(17) CHARACTER 1 * Reserved
    Transaction Statistics Information
    SNEX_TXN_COUNT:
                                 Keeps tally of the number of txns
                                 run by this user at this terminal
                                 for the duration of the current
                                 signon.
    SNEX_TXN_ERROR_COUNT:
                                 Keeps tally of the number of txn
                                 errors in this signon session.
(18) FULLWORD 4 SNEX_TXN_COUNT
(1C) FULLWORD 4 SNEX_TXN_ERROR_COUNT
    Miscellaneous Flags
    SNEX_PRESET_SECURITY: Flag used to signal if this
                                 terminal has preset security. This
                                 flag is also set on for sessions
                                 that have a preset session userid.
    SNEX_SESSION_SIGNED_ON: Flag used to signal that this
                                 session has been session (link)
                                 signed on.
    SNEX_PRESET_USERID_PRESENT: Flag used to indicate that a preset
                                 userid exists in the SNEX_USERID
                                 field. This is used to perform a
                                 preset signon when the terminal is
                                 installed. This is only used in the
                                 case of macro defined terminals.
    SNEX_SESSION_SIGNED_ON_AS_DEFAULT: Flag used to signal that this
                                       session has been session
                                       (link) signed on with default
                                       attributes. This is used in
                                       signoff session userid to
                                       stop unnecessary delete user
                                       processing.
    SNEX_SESSION_USER_TOKEN_X: Flag used to indicate that this
                                 SNEX contains a valid user token in
                                 the SNEX_SESSION_USER_TOKEN field.
                                 The session user token might be
                                 null, but this can still be a valid
                                 session user token. This happens
                                 in the cases where it is necessary
                                 to enforce a link security check
                                 against the default user.
    SNEX_LUIT_TABLE_UPDATED: Flag used to indicate whether during
                                 a signon_attach_header the LUIT
                                 table was updated. This flag should
                                 only be set on during a signon
                                 attach header for a persistent
                                 verification FMH-5. When this
                                 terminal is attach signed off, then
                                 this flag should be turned off ready
                                 for the next user of this terminal.
    SNEX_EQUIVALENT_SYSTEMS: Flag used to let DFHZNCA know that
                                 although this session does not
                                 have the snex preset security flag
                                 on, it did however have a preset
                                 session userid, but it was the same
                                 as this system's jobstep userid.
                                 This is known as equivalent systems
                                 for LU6.1 and LU6.2, but a different
                                 check is made for MRO for equivalent
                                 systems. Namely that the link
                                 security name is the same as the
                                 jobstep userid of the connecting
                                 system. Hence this flag is not
                                 required for MRO, because we can
                                 only make the equivalence check
                                 when we know the connectee's userid.
                                 This is done in DFHCRNP when the
                                 connection is acquired.
(20) CHARACTER 1 SNEX_FLAGS
(20) 1... ....   SNEX_PRESET_SECURITY
(20) .1.. ....   SNEX_SESSION_SIGNED_ ON
(20) ..1. ....   SNEX_PRESET_USERID_ PRESENT
(20) ...1 ....   SNEX_SESSION_SIGNED_ ON_AS_DEFAULT
(20) .... 1...   SNEX_SESSION_USER_ TOKEN_X
(20) .... .1..   SNEX_LUIT_TABLE_ UPDATED
(20) .... ..1.   SNEX_EQUIVALENT_ SYSTEMS
(20) .... ...1   * Reserved
(21) CHARACTER 1 SNEX_FLAGS2
    Console support flags
    SNEX_CONSOLE_REFLECT_FIRST_USER: Set if user specified
                             USERID( FIRST) on the TERMINAL
                             definition for the console. On
                             install the real user that MVS
                             has nominated in the CIB is
                             signed on as a preset userid.
    SNEX_CONSOLE_REFLECT_EVERY_USER: Set if user specified
                             USERID( EVERY) on the TERMINAL
                             definition for the console. On
                             install and on every following
                             message the user is signed-on
                             (if it has changed) as a
                             preset userid.
(21) CHARACTER 1 SNEX_CONSOLE
(21) 1... ....   SNEX_CONSOLE_ REFLECT_FIRST_USER
(21) .1.. ....   SNEX_CONSOLE_ REFLECT_EVERY_USER
(21) ..11 1111   * Reserved
(22) CHARACTER 1 SNEX_LUIT_USERID_LEN Len of PV userid
(23) CHARACTER 8 SNEX_LUIT_USERID PV userid
(2B) CHARACTER 1 * Reserved
(2C) ADDRESS 4 SNEX_SIGNON_DATA_ADDR Data address for PS signon retention
(30) HALFWORD 2 SNEX_SIGNON_DATA_ LENGTH Data length for PS signon retention
(32) UNSIGNED 2 SNEX_ERR_RESPONSE Response code for msg
(34) UNSIGNED 2 SNEX_ERR_REASON Reason code for msg
(36) CHARACTER 2 * Reserved
(38) CHARACTER 0 SNEX_END End of SNEX