User extension code and tables

XJ00      TITLE 'USER EXTENSION MODULE -- PROLOG (MODULE COMMENT BLOCK)'
*************************************************************************
*                                                                       *
* MODULE NAME = HASJES20 ( HASPXJ00 CSECT )                             *
*                                                                       *
* DESCRIPTIVE NAME = HASPXJ00 CSECT OF JES2 MAIN MODULE                 *
*                                                                       *
* STATUS = OS/VS2 - SEE $MODULE EXPANSION BELOW FOR FMID, VERSION       *
*                                                                       *
* FUNCTION = THE HASPXJ00 CSECT CONTAINS THE INSTALLATION SECURITY      *
*            PROCESSOR, THE INSTALLATION SECURITY SUBTASK, AND          *
*            THE INSTALLATION PCE, DTE, TRACE, WORK SELECTION,          *
*            AND $SCAN TABLES.                                          *
*                                                                       *
* NOTES = SEE BELOW                                                     *
*                                                                       *
*   DEPENDENCIES = JES2 PROCESSOR AND SUBTASK DISPATCHING               *
*                                                                       *
*   RESTRICTIONS = THIS CODE IS PROVIDED AS AN EXAMPLE OF               *
*                  INSTALLATION EXTENSIONS TO JES2.  THIS CODE IS       *
*                  NOT TO BE CONSIDERED TYPE 1 SUPPORTED CODE OF        *
*                  IBM.                                                 *
*                                                                       *
*   REGISTER CONVENTIONS = SEE ENTRY POINT DOCUMENTATION                *
*                                                                       *
* MODULE TYPE = PROCEDURE, TABLE ( CSECT TYPE )                         *
*                                                                       *
*   PROCESSOR = OS/VS ASSEMBLER H OR ASSEMBLER XF (370)                 *
*                                                                       *
*   MODULE SIZE = SEE $MODEND MACRO EXPANSION AT END OF ASSEMBLY        *
*                                                                       *
*   ATTRIBUTES = HASP REENTRANT, RMODE 24, AMODE 24/31.                 *
*                                                                       *
* ENTRY POINT =  USCTPCE  - INITIAL ENTRY TO SECURITY PROCESSOR         *
*                USCTDTE  - INITIAL ENTRY TO THE SUBTASK USED FOR       *
*                           AUTHORIZATION CHECKES                       *
*                USERPCET - ENTRY FOR INSTALLATION PCE TABLE            *
*                USERDTET - ENTRY FOR INSTALLATION DTE TABLE            *
*                USERTIDT - ENTRY FOR INSTALLATION TRACE ID TABLE       *
*                USERSTWT - ENTRY FOR INSNTALLATION OFFLOAD SYSOUT       *
*                           TRANSMITTER WORK SELECTION TABLE            *
*                USEROSTT - ENTRY FOR INSTALLATION OFFLOAD SYSOUT       *
*                           TRANSMITTER OPERAND TABLE                   *
*                                                                       *
*   PURPOSE = SEE FUNCTION                                              *
*                                                                       *
*   LINKAGE = SEE ENTRY POINT DOCUMENTATION                             *
*                                                                       *
*   INPUT = SEE ENTRY POINT DOCUMENTATION                               *
*                                                                       *
*   OUTPUT = SEE ENTRY POINT DOCUMENTATION                              *
*                                                                       *
*   EXIT-NORMAL = SEE ENTRY POINT DOCUMENTATION                         *
*                                                                       *
*   EXIT-ERROR = SEE ENTRY POINT DOCUMENTATION                          *
*                                                                       *
* EXTERNAL REFERENCES = SEE BELOW                                       *
*                                                                       *
*   ROUTINES = NONE                                                     *
*                                                                       *
*   DATA AREAS = SEE $MODULE MACRO SPECIFICATION                        *
*                                                                       *
*   CONTROL BLOCKS = SEE $MODULE SPECIFICATION                          *
*                                                                       *
* TABLES = SEE $MODULE MACRO SPECIFICATION                              *
*                                                                       *
* MACROS = JES2 - $ACTIVE, $AMODE, $CALL, $DECODE, $DORMANT, $DTEDYN,   *
*                 $ENTRY, $MODULE, $PCETAB, $REGS, $RETURN, $SAVE,      *
*                 $SCANTAB, $STIMER, $STORE, $TIDTAB, $TRACE, $WAIT,    *
*                 $WSTAB                                                *
*                                                                       *
* MACROS = MVS  - ATTACH, DEQ, ENQ, ESTAE, POST, SDUMP, WAIT            *
*                                                                       *
* CHANGE ACTIVITY:  GUIDE 65, CHICAGO, ILL - 7/86                       *
*                   CODE AT SP1.3.6/2.1.5 LEVEL                         *
*                   1/88 VARIOUS FIXES BY BDB, SA, JK, MES, SWW FOR TB  *
*                                                                       *
*************************************************************************

          TITLE 'USER EXTENSION MODULE -- PROLOG ($HASPGBL)'
          COPY  $HASPGBL             COPY HASP GLOBALS
          TITLE 'USER EXTENSION MODULE -- PROLOG ($MODULE)'
HASPJX00  $MODULE NOTICE=NONE,                                           C
                ENTRIES=(USERPCET,USERDTET,USERTIDT,USERSTWT,USEROSTT),  C
                TITLE='USER EXTENSION MODULE',                           C
                $DCT,               GENERATE HASP DCT DSECT              C
                $DTE,               GENERATE HASP DTE DSECT              C
                $DTETAB,            GENERATE HASP DTETAB DSECT           C
                $ERA,               GENERATE HASP ERA DSECT              C
                $HASPEQU,           GENERATE HASP EQUATES DSECT          C
                $HCT,               GENERATE HASP HCT DSECT              C
                $JQE,               GENERATE HASP JQE DSECT              C
                $MIT,               GENERATE HASP MIT DSECT              C
                $PCE,               GENERATE HASP PCE DSECT              C
                $PCETAB,            GENERATE HASP PCETAB DSECT           C
                $RDRWORK,           GENERATE HASP RDRWORK DSECT          C
                $SCANTAB,           GENERATE HASP SCANTAB DSECT          C
                $SCAT,              GENERATE HASP SCAT DSECT             C
                $TIDTAB,            GENERATE HASP TIDTAB DSECT           C
                $TLGWORK,           GENERATE HASP TLGWORK DSECT          C
                $TQE,               GENERATE HASP TQE DSECT              C
                $TRP,               GENERATE HASP TRP DSECT              C
                $TTE,               GENERATE HASP TTE DSECT              C
                $USERCBS,           GENERATE USER DSECTS                 C
                $WSTAB,             GENERATE HASP WSTAB DSECT            C
                $XECB               GENERATE HASP XECB DSECT
          TITLE 'USER EXTENSION MODULE -- INTRO  -  BRIEF OVERVIEW OF
                 FUNCTION AND RELATED PIECES'
*************************************************************************
*                                                                       *
* FUNCTION -- THIS MODULE CONTAINS THE INSTALLATION EXTENSION CODE      *
*             AND TABLES THAT ARE REQUIRED TO CREATE AN INSTALLATION    *
*             SECURITY PROCESSOR, SECURITY SUBTASK, TRACE ID, WORK      *
*             SELECTION CRITERIA ON THE OFFLOAD SYSOUT TRANSMITTER      *
*             WORK SELECTION LIST, AND AN ADDITIONAL OPERAND ON THE     *
*             OFFLOAD SYSOUT TRANSMITTER.                               *
*                                                                       *
* REQUIRED PIECES -- HASPXJ00 - THIS MODULE                             *
*                    $UCT     - CONTAINS REQUIRED FIELDS FOR TABLE      *
*                               GENERATION                              *
*                    $SCDWORK - SUBTASK DTE EXTENSION TO HOLD FIELDS    *
*                               SPECIFIC TO A SECURITY SUBTASK          *
*                    $SCYWORK - PROCESSOR PCE EXTENSION TO HOLD         *
*                               FIELDS SPECIFIC TO A SECURITY           *
*                               PROCESSOR                               *
*                    $USERCBS - CONTROL BLOCK THAT ACTUALLY GENERATES   *
*                               THE ABOVE MACROS.  THIS CONTROL BLOCK   *
*                               IS KNOWN BY $MODULE AND IS THE WAY      *
*                               FOR AN INSTALLATION TO GET $MODULE TO   *
*                               GENERATE THEIR CONTROL BLOCKS           *
*                    HASPXITO - EXIT 0 MODULE THAT CONTAINS EXIT0.      *
*                               THIS EXIT INITIALIZES THE $MCT WITH     *
*                               THE ADDRESSES OF THE INSTALLATION       *
*                               TABLES LOCATED IN HASPXJ00.             *
*                                                                       *
*************************************************************************