         TITLE 'IKT0009D:  TSO/VTAM SVC 94 ROUTER                      *00001000
                        '                                               00002000
IKT0009D CSECT ,                                                   0001 00003000
@MAINENT BALR  @15,0                                               0001 00004000
         USING *,@15                                               0001 00005000
         B     @PROLOG                                             0001 00006000
         DC    AL1(16)                                             0001 00007000
         DC    C'IKT0009D  78.049'                                 0001 00008000
         DROP  @15                                                      00009000
@PROLOG  BALR  @12,0                                               0001 00010000
@PSTART  DS    0H                                                  0001 00011000
         USING @PSTART,@12                                         0001 00012000
*                                                                  0007 00013000
*   /*****************************************************************/ 00014000
*   /*                                                               */ 00015000
*   /* PARAMETER REGISTER 0 WILL HAVE THE ENTRY CODE FOR THE SVC IN  */ 00016000
*   /* THE HIGH ORDER POSITION OF REGISTER 0, IF THE ENTRY CODE IS   */ 00017000
*   /* INVALID A RETURN CODE OF 4 IS RETURNED IN REG 15              */ 00018000
*   /*                                                               */ 00019000
*   /*****************************************************************/ 00020000
*                                                                  0007 00021000
*   RWORK=REG0;                     /* HAVE ENTRY CODE IN WORK REG   */ 00022000
         LR    RWORK,REG0                                          0007 00023000
*   SRL(RWORK,24);                  /* LOW ORDER POSITION FOR      0008 00024000
*                                      INDEXING                      */ 00025000
         SRL   RWORK,24                                            0008 00026000
*   IF RWORK>20|RWORK<=0 THEN       /* CHECK INVALID CODES           */ 00027000
         CH    RWORK,@CH00046                                      0009 00028000
         BH    @RT00009                                            0009 00029000
         LTR   RWORK,RWORK                                         0009 00030000
         BNP   @RT00009                                            0009 00031000
*     GOTO INVALID;                 /* PROCESS INVALID CODES @ZM31461*/ 00032000
*   ELSE                                                           0011 00033000
*     DO;                                                          0011 00034000
*       REG5=TSBPTR;                /* EXPECTED TSB POINTER RESTORED    00035000
*                                      FOR OTHER MODULES IN SVC 94 0012 00036000
*                                      PROCESSING                    */ 00037000
         LR    REG5,TSBPTR                                         0012 00038000
*       GEN EXIT REFS(RWORK,MODTAB,RLINK) SETS(RWORK,RLINK,RBASE); 0013 00039000
         SLL   RWORK,2              /* POSITION INDEX        @ZM31461*/ 00040000
         L     RLINK,MODTAB-4(RWORK)  /* SET ENTRY REGISTER  @ZM31461*/ 00041000
         LR    RBASE,RLINK          /* COPY ENTRY REGISTER   @ZM31461*/ 00042000
         BR    RLINK                /* BRANCH TO MACRO PROCESSOR     */ 00043000
*     END;                                                         0014 00044000
*INVALID:                                                          0015 00045000
*   RETCODE=CODE04;                                                0015 00046000
INVALID  LA    RETCODE,4                                           0015 00047000
*   GEN CODE EXIT REFS(REG14)(BR    REG14);/* RETURN         @ZM31461*/ 00048000
         BR    REG14                                                    00049000
*INVALID8:                                                         0017 00050000
*   RETCODE=CODE08;                                                0017 00051000
INVALID8 LA    RETCODE,8                                           0017 00052000
*   GEN CODE EXIT REFS(REG14)(BR    REG14);/* RETURN         @ZM31461*/ 00053000
         BR    REG14                                                    00054000
*INVALIDC:                                                         0019 00055000
*   RETCODE=CODE12;                                                0019 00056000
INVALIDC LA    RETCODE,12                                          0019 00057000
*   GEN CODE EXIT REFS(REG14)(BR    REG14);/* RETURN         @ZM31461*/ 00058000
         BR    REG14                                                    00059000
*   END IKT0009D;                                                  0021 00060000
@DATA    DS    0H                                                       00061000
@CH00046 DC    H'20'                                                    00062000
@DATD    DSECT                                                          00063000
         DS    0F                                                       00064000
@ZTEMPS  DS    C                                                        00065000
@ZTEMPND EQU   *                                                        00066000
@ZLEN    EQU   @ZTEMPND-@ZTEMPS                                         00067000
IKT0009D CSECT                                                          00068000
         DS    0F                                                       00069000
@DATD    DSECT                                                          00070000
         DS    0D                                                       00071000
IKT0009D CSECT                                                          00072000
         DS    0F                                                       00073000
@SIZDATD DC    AL1(0)                                                   00074000
         DC    AL3(@ENDDATD-@DATD)                                      00075000
         DS    0D                                                       00076000
PATCH    DS    CL50                                                     00077000
IKT0009D CSECT                                                          00078000
         DS    0F                                                       00079000
MODTAB   EQU  *                                                         00080000
TCLEARQ  DC   V(IKT09401)           ENTRY CODE  1                       00081000
TSEND    DC   A(INVALID)            ENTRY CODE  2,INVALID               00082000
MSGS     DC   A(INVALID)            ENTRY CODE  3,INVALID               00083000
STBREAK  DC   V(IKT09404)           ENTRY CODE  4                       00084000
STCOM    DC   V(IKT09405)           ENTRY CODE  5                       00085000
STTIMEO  DC   A(INVALID8)           ENTRY CODE  6,INVALID               00086000
STCC     DC   A(INVALIDC)           ENTRY CODE  7,INVALID               00087000
STATTN   DC   A(INVALID8)           ENTRY CODE  8,INVALID               00088000
STAUTOL  DC   V(IKT09409)           ENTRY CODE  9                       00089000
STSIZE   DC   V(IKT0940A)           ENTRY CODE 10                       00090000
GTSIZE   DC   V(IGG0940B)           ENTRY CODE 11                       00091000
STAUTOC  DC   V(IKT0940C)           ENTRY CODE 12                       00092000
SPAUTOP  DC   V(IKT0940D)           ENTRY CODE 13                       00093000
RTAUTOP  DC   V(IKT0940E)           ENTRY CODE 14                       00094000
STTRAN   DC   V(IKT0940F)           ENTRY CODE 15                       00095000
STCLEAR  DC   A(INVALID8)           ENTRY CODE 16,INVALID               00096000
         DC   A(INVALID)            ENTRY CODE 17,RESERVED              00097000
STFSMODE DC   V(IKT09412)           ENTRY CODE 18                       00098000
STLINENO DC   V(IKT09413)           ENTRY CODE 19                       00099000
STTMPMD  DC   V(IKT09414)           ENTRY CODE 20                       00100000
@DATD    DSECT                                                          00101000
         ORG   *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA                00102000
@ENDDATD EQU   *                                                        00103000
IKT0009D CSECT                                                          00104000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       00105000
@01      EQU   01                                                       00106000
@02      EQU   02                                                       00107000
@03      EQU   03                                                       00108000
@04      EQU   04                                                       00109000
@05      EQU   05                                                       00110000
@06      EQU   06                                                       00111000
@07      EQU   07                                                       00112000
@08      EQU   08                                                       00113000
@09      EQU   09                                                       00114000
@10      EQU   10                                                       00115000
@11      EQU   11                                                       00116000
@12      EQU   12                                                       00117000
@13      EQU   13                                                       00118000
@14      EQU   14                                                       00119000
@15      EQU   15                                                       00120000
RBASE    EQU   @12                                                      00121000
REG0     EQU   @00                                                      00122000
REG1     EQU   @01                                                      00123000
REG3     EQU   @03                                                      00124000
REG4     EQU   @04                                                      00125000
REG5     EQU   @05                                                      00126000
SVRB     EQU   @05                                                      00127000
TSBPTR   EQU   @08                                                      00128000
RWORK    EQU   @10                                                      00129000
REG14    EQU   @14                                                      00130000
RLINK    EQU   @15                                                      00131000
RETCODE  EQU   @15                                                      00132000
@RT00009 EQU   INVALID                                                  00133000
@ENDDATA EQU   *                                                        00134000
         END   IKT0009D,(C'PLS1449',0701,78049)                         00135000
