         TITLE ' RETAIN/370 INITIALIZATION IFDOLT54'                    00010000
         TITLE 'RETAIN/370 INITIALIZATION IFDOLT54'                     00020000
         LCLA  &T,&SPN                                            0002  00030000
.@001    ANOP                                                     0002  00040000
IFDOLT54 CSECT ,                                                  0002  00050000
         BC    15,24(0,@F)                                              00060000
         DC    C'IFDOLT54 15 APR 74'                             0002  00070000
         STM   @E,@C,12(@D)                                       0002  00080000
         BALR  @B,0                                               0002  00090000
@PSTART  DS    0H                                                 0002  00100000
         USING @PSTART+00000,@B                                   0002  00110000
         ST    @D,@SAV001+4                                       0002  00120000
         LA    @F,@SAV001                                         0002  00130000
         ST    @F,8(0,@D)                                         0002  00140000
         LR    @D,@F                                              0002  00150000
*         GEN(USING  CHASCT,2);                                         00160000
         USING  CHASCT,2                                                00170000
         DS    0H                                                       00180000
*  GENERATE DATA;                                                       00190000
*  /******************************************************************* 00200000
*  /*     CCW BREAK DOWN                                              * 00210000
*  /******************************************************************* 00220000
*         DCL CCWENABL    CHAR(8) BDY(DWORD) GENERATED;                 00230000
*         DCL CCWPREP    CHAR(8) BDY(DWORD) GENERATED;                  00240000
*         DCL CCWREADD CHAR(8) BDY(DWORD) GENERATED;                    00250000
*         DCL 1 READCP CHAR(8) BASED(ADDR(CCWREADD)),                   00260000
*              2 OP BIT(8),                                             00270000
*              2 BUFADR PTR(24),                                        00280000
*              2 FLG BIT(8),                                            00290000
*              2 * BIT(8),                                              00300000
*              2 BYTECNT BIT(16);                                       00310000
*         DCL CCWWRPOS CHAR(8) BDY(DWORD) GENERATED;                    00320000
*         DCL 1 WRPOS CHAR(8) BASED(ADDR(CCWWRPOS)),                    00330000
*              2 OP1 BIT(8),                                            00340000
*              2 BUFADR1 PTR(24),                                       00350000
*              2 FLG1 BIT(8),                                           00360000
*              2 * BIT(8),                                              00370000
*              2 BYTECNT1 BIT(16);                                      00380000
*         DCL CCWRDEOT CHAR(8) BDY(DWORD) GENERATED;                    00390000
*         DCL 1 RDEOT CHAR(8) BASED(ADDR(CCWRDEOT)),                    00400000
*              2 OP2 BIT(8),                                            00410000
*              2 BUFADR2 PTR(24),                                       00420000
*              2 FLG2 BIT(8),                                           00430000
*              2 * BIT(8),                                              00440000
*              2 BYTECNT2 BIT(16);                                      00450000
*         DCL POS CHAR(1) INIT('76'X);  /*                      X02008* 00460000
*         DCL RESPONSE CHAR(5);         /* EOT BUFFER                 * 00470000
*  /******************************************************************* 00480000
*  /*     REGISTERS                                                   * 00490000
*  /******************************************************************* 00500000
*         DCL R0 REG(0) PTR;                                            00510000
*         DCL R1 REG(1) PTR;                                            00520000
*         DCL R2 REG(2) PTR;                                            00530000
*         DCL R3 REG(3);                                                00540000
*         DCL R4 REG(4);                                                00550000
*         DCL R5 REG(5);                                                00560000
*         DCL R6 REG(6);                                                00570000
*         DCL R7 REG(7);                                                00580000
*         DCL R8 REG(8);                                                00590000
*         DCL R9 REG(9);                                                00600000
*         DCL R10 REG(10);                                              00610000
*         DCL R11 REG(11);                                              00620000
*         DCL R12 REG(12);                                              00630000
*         DCL R13 REG(13);                                              00640000
*         DCL R14 REG(14);                                              00650000
*         DCL R15 REG(15);                                              00660000
*  /******************************************************************* 00670000
*  /* FOR PWTO'S                                                      * 00680000
*  /******************************************************************* 00690000
*  /*                                                                 * 00700000
*         DCL  1 * BASED(R1),                                           00710000
*               2 LENGTH CHAR(1),       /* LENGTH OF MESSAGE          * 00720000
*               2 BUFAD PTR(24),        /* ADDR OF RESP BUFFER        * 00730000
*               2 MECBAD PTR;           /* ECB ADDRESS                * 00740000
*         DCL IFDMSG54 LABEL NONLOCAL EXTERNAL;                         00750000
*         DCL MSGPTR PTR INIT(ADDR(IFDMSG54));                          00760000
*         DCL 1 * BASED(MSGPTR),                                        00770000
*               3 IFD163 PTR(31),        /* PTR TO MESSAGE            * 00780000
*               3 IFD164 PTR(31),        /* PTR TO MESSAGE            * 00790000
*               3 IFD168 PTR(31),                                       00800000
*               3 IFD137 PTR(31),                                       00810000
*               3 IFD140 PTR(31);        /* PTR TO VARY-OFF MSG Y02008* 00820000
*         DCL 1 ERRMSG CHAR(47) BASED(IFD137),                          00830000
*              3 * CHAR(4),              /*USED BY PWTO               * 00840000
*              3 * CHAR(14),            /*                      S21051* 00850000
*              3 MSGCSW CHAR(14),       /*                      S21051* 00860000
*              3 * CHAR(5),             /*                      S21051* 00870000
*              3 MSGSNS CHAR(12);       /*                      S21051* 00880000
*         DCL 1 LINKMSG CHAR(68) BASED(IFD164),                         00890000
*           3 * CHAR(40),                                               00900000
*           3 LINKTEXT CHAR(32);                                        00910000
*         DCL 1 MSGTEXT CHAR(106),      /* NO HOOKUP EXPLANATIONX03008* 00920000
*           3 NOUCBTXT CHAR(23) INIT('NO UCB SYSGEND FOR 2955'),        00930000
*           3 NAVAILTXT CHAR(28) INIT('2955 CU NOT FREE FOR TESTING'),  00940000
*           3 TOUTTXT CHAR(31) INIT('INITIAL REMOTE RESPONSE TIMEOUT'), 00950000
*           3 RIWTOTXT CHAR(28) INIT('TIMEOUT ON READ INITIAL WAIT'),   00960000
*           3 EQMPTTXT CHAR(24) INIT('HARDWARE/INTERFACE ERROR');       00970000
*                                                                       00980000
*         DCL 1 MSG140 BASED(IFD140) CHAR(20),                          00990000
*              3 * CHAR(12),             /* N. A.               Y02008* 01000000
*              3 MSG140DV CHAR(8);       /* DEV VARIED OFFLINE  Y02008* 01010000
*                                                                       01020000
*         DCL 1 INBUF CHAR(18),          /* MACRO OUTPUT              * 01030000
*              3 SNSIN CHAR(4),          /* SENSE IN EBCDIC           * 01040000
*              3 CSWIN CHAR(14);         /* CSW IN EBCDIC             * 01050000
*         DCL 1 OUTBUFR CHAR(9),         /* MACRO INPUT               * 01060000
*              3 SNSOUT CHAR(2),         /* SENSE IN HEX              * 01070000
*              3 CSWOUT CHAR(7);        /* CSW OUTPUT                 * 01080000
*         DCL CNVRT CHAR(14) GENERATED; /*CALLING SEQUENCE            * 01090000
*         DCL TAB28 PTR(31) GENERATED;  /* POINTER TO CONVERT MACRO   * 01100000
*  /******************************************************************* 01110000
*  /* CONTROL BLOCK POINTERS                                          * 01120000
*  /******************************************************************* 01130000
*         DCL AVTPTR PTR GENERATED;      /* I/O APPENDAGE VECTOR TABLE* 01140000
*         DCL DEVTBPTR PTR GEND;         /* DEV TAB PTR IN C A  X03008* 01150000
*         DCL REIUCB PTR GENERATED;      /* 2955 UCB ADDRESS          * 01160000
*         DCL TSTDEBAD PTR GENERATED;    /* TEST DEB ADDRESS (SP254)  * 01170000
*         /************************************************************ 01180000
*         /*               SVC PARAMETER LIST                         * 01190000
*         /************************************************************ 01200000
*         DCL ROPT CHAR(8) GENERATED;                                   01210000
*         DCL ROPTMIN2 CHAR(2) BASED(ADDR(ROPT)-2);                     01220000
*         DCL 1 SVCPLIST BASED(ADDR(ROPT)),   /* SVC PARAMETER LIST   * 01230000
*               3 ROPT0 PTR(31),         /* FROM ADDRESS              * 01240000
*               3 ROPT4 PTR(31),         /* TO ADDRESS                * 01250000
*               3 ROPT8 PTR(31);         /* IOSGEN WKAREA       X03008* 01260000
*  /******************************************************************* 01270000
*  /*     STIMER MACRO DATA                                           * 01280000
*  /******************************************************************* 01290000
*         DCL (TIMEOUT) INTERNAL ENTRY; /* TIME OUT EXIT ROUTINE      * 01300000
*         DCL TIME2 CHAR(8) BDY(DWORD)  /* TEN MINUTES ON WAIT        * 01310000
*           INIT('F0F0F1F0F0F0F0C0'X);                                  01320000
*         DCL 1 UCB2955 BASED(REIUCB) CHAR(16), /* REI UCB     X03008*/ 01330000
*           3 * CHAR(4),                /* N.A.                X03008*/ 01340000
*           3 UCBDEVAD CHAR(2),         /* UCB DEVICE ADDRESS  X03008*/ 01350000
*             5 UCBCHNAD CHAR(1),       /* CHANNEL ADDR OF DEV X03008*/ 01360000
*             5 UCBUADR CHAR(1),        /* UCB UNIT ADDR CU,U  X03008*/ 01370000
*           3 * CHAR(7),                /* N.A.                Y02008*/ 01380000
*           3 UCBNAME CHAR(3);          /* DEV NAME IN EBCDIC  Y02008*/ 01390000
*         DCL ONEDEV FIXED INIT('00000001'X);  /* 1 DEVICE     X03008*/ 01400000
*         DCL 1 DEVTAB54(36) CHAR(1) INIT((36)'00'X),/*REI DVTBX03008*/ 01410000
*           3 * CHAR(8),                /* NA                  X03008*/ 01420000
*           3 DEVUCB PTR,               /* DEV UCB ADDR        X03008*/ 01430000
*           3 DEVFLGS CHAR(4),          /* DEV TAB FLAGS       X03008*/ 01440000
*             5 * CHAR(2),              /* NA                  X03008*/ 01450000
*             5 FLAG3 CHAR(1),          /* FLAG FIELD 3        X03008*/ 01460000
*               7 * BIT(7),             /* NA                  X03008*/ 01470000
*               7 PSEUDODVTAB BIT(1),   /* PSEUDO DEV TAB FOR  X03008*/ 01480000
*                                       /* REI DEVICE          X03008*/ 01490000
*             5 FLAG4 CHAR(1),          /* NA                  X03008*/ 01500000
*               7 * BIT(4),             /* N. A.               Y02008*/ 01510000
*               7 DEVVAR BIT(1),        /* DEV VARY OFF BY US  Y02008*/ 01520000
*           3 * CHAR(16),               /* NA                  X03008*/ 01530000
*           3 CDSDEVAD CHAR(4),         /* CDS DEVICE ADDR     X03008*/ 01540000
*             5 * CHAR(2),              /* N.A.                X03008*/ 01550000
*             5 DEVADDR CHAR(2),        /* HEX DEV ADDR        X03008*/ 01560000
*               7 CHANADR CHAR(1);      /* CHANNEL ADDR        X03008*/ 01570000
*                                                                       01580000
*         /************************************************************ 01590000
*         /*  ADDRESS OF CVT                                            01600000
*         DCL CVTADPTR PTR INIT(16);                                    01610000
*         DCL CVTADDR PTR BASED(CVTADPTR);                              01620000
*         DCL   1 CVT BASED(CVTADDR),    /* CVT                         01630000
*                3 * CHAR(40),                                          01640000
*                3 CVTILK2 PTR,          /* PTR TO UCB LOOKUP TABLE  */ 01650000
*                3 * CHAR(284),          /* N.A. IN CVT         X03008* 01660000
*                3 CVTEXT2 PTR;          /* PTR TO CVT EXTENSIONX03008* 01670000
*         DCL CVTOLTEP BASED(CVTEXT2+28) PTR; /* OLTEP PTR,CVT  X03008* 01680000
*         DCL 1 OLTEPTAB CHAR(24) BASED(CVTOLTEP), /* OLTEP TAB X03008* 01690000
*                3 DIEHEAD CHAR(4),     /* HEAD OF DIE MODULE   Y02008* 01700000
*                3 REIDEBAD PTR,        /* PTR OLTEPS REI DEB   Y02008* 01710000
*                3 * CHAR(20),          /* PTRS FOR DIE USE     Y02008* 01720000
*                3 OLTEPUCB PTR,        /* OLTEP UCBS FOR TEST  X03008* 01730000
*                3 REIUCBAD PTR,        /* DEV UCB ADDRESS      X03008* 01740000
*                3 * CHAR(4),           /* N A                  Y02008* 01750000
*                3 IOSGENTBL (18) FIXED;/* IOS WORK AREA        X03008* 01760000
*         /************************************************************ 01770000
*         /*                    REI DEB                               * 01780000
*         /************************************************************ 01790000
*         DCL 1 REIDEB CHAR(48) BDY(WORD),                              01800000
*           3 *(4) CHAR(1) INIT((4) '00'X), /* NA INIT TO 0    YA01378* 01810000
*           3 NXTDEBAD PTR(31),             /* NEXT DEB ADDRESSYA01378* 01820000
*           3 *(8) CHAR(1) INIT((8) '00'X), /* NA INIT TO 0    YA01378* 01830000
*               3 NEXTS CHAR(1) INIT('00'X),  /* NUMBER OF EXTENTS    * 01840000
*               3 *(7) CHAR(1) INIT((7)'00'X),     /* NA              * 01850000
*               3 DEBID CHAR(1) INIT('0F'X),    /* DEB IDENTIFIER     * 01860000
*               3 DEBDCBAD PTR(24),           /* DCB ADDRESS          * 01870000
*               3 RDEB28C CHAR(1) INIT('02'X),  /*  EXTENT CODE       * 01880000
*               3 RDEB28 PTR(24),             /* I/O APPENDAGE TAB AD * 01890000
*               3 RUCBAD PTR(31),             /* UCB ADDRESS          * 01900000
*               3 *(12) CHAR(1) INIT((12)'00'X);   /* NA              * 01910000
*         /************************************************************ 01920000
*         /*                    REI DCB                               * 01930000
*         /************************************************************ 01940000
*         DCL REIDCBPT PTR GENERATED;   /* POINTER TO REMOTE DCB      * 01950000
*         DCL 1 REIDCB CHAR(72) BASED(REIDCBPT),   /* REI DCB         * 01960000
*              2 *(18) FIXED,                                   /*5035* 01970000
*               3 * CHAR(44),                      /* NA              * 01980000
*               3 RDCB44 PTR(31),                  /* PTR TO DEB      * 01990000
*                5 RDCB44C CHAR(1),     /* FLAGS                 M4502* 02000000
*              2 ADRTABLE(5) FIXED;     /*VECTOR TABLE           M4502* 02010000
*  /******************************************************************* 02020000
*  /*     REI IOB                                                     * 02030000
*  /******************************************************************* 02040000
*         DCL REIOBPTR PTR GENERATED;   /* POINTER TO REMOTE IOB      * 02050000
*         DCL 1 IOB CHAR(40) BASED(REIOBPTR),     /* BREAK DOWN IOB   * 02060000
*             2 IOB1 CHAR(32),          /* USED BY EXCP               * 02070000
*              3 FLAGS BIT(8),                    /*                  * 02080000
*               5 DCH BIT(1),                     /* DATA CHAINING BIT* 02090000
*               5 CCH BIT(1),                     /*  CCW CHAINING BIT* 02100000
*               5 * BIT(6),                       /*                  * 02110000
*              3 * CHAR(1),                                             02120000
*              3 SENSE CHAR(2),         /* SENSE                      * 02130000
*              3 ECBC BIT(8),                     /* ECB CODE         * 02140000
*              3 ECBA PTR(24),                    /* ECB ADDRESS      * 02150000
*              3 * CHAR(1),                                             02160000
*              3 CSW CHAR(7),           /* CSW                        * 02170000
*              3 * BIT(8),                                              02180000
*              3 CPA PTR(24),                     /* CHANNEL PROG.ADDR* 02190000
*              3 * BIT(8),                        /*                  * 02200000
*              3 DCBA PTR(24),                    /* DCB ADDRESS      * 02210000
*              3 *(4) FIXED;                      /*                  * 02220000
*  /******************************************************************* 02230000
*  /*     REI COMMON AREA SWITCHES                                    * 02240000
*  /******************************************************************* 02250000
*         DCL CHASCT CHAR(116) GENERATED;    /* COMMON AREA           * 02260000
*         DCL CESWTR CHAR(1) GENERATED; /* COMMON AREA SWITCHES       * 02270000
*        DCL 1 * BASED(ADDR(CESWTR)),    /*                           * 02280000
*              3 RETAINAC BIT(1),        /* REI ACTIVE SWITCH         * 02290000
*              3 REMERR BIT(1),          /* PERMANENT ERROR SWITCH    * 02300000
*              3 REMNOMSG BIT(1),       /*  REMOTE NO MESSAGE SWITCH  * 02310000
*              3 * BIT(5);                                              02320000
*        DCL 1 * BASED(ADDR(CHASCT)),    /*                           * 02330000
*             3 * (9) FIXED,             /*                           * 02340000
*             3 * FIXED,                 /*                           * 02350000
*               5 * BIT(2),              /*                           * 02360000
*               5 RETSWT BIT(1),         /* ANOTHER REI ACTIVE SWITCH * 02370000
*               5 * BIT(29);             /*                           * 02380000
*  /******************************************************************* 02390000
*  /* REI BUFFERS AND ECBS                                            * 02400000
*  /******************************************************************* 02410000
*         DCL REIECB GENERATED;         /* REMOTE ECB                 * 02420000
*        DCL RECB BASED(ADDR(REIECB));   /*                           * 02430000
*  /*                                                                 * 02440000
*         DCL 1 ENECB CHAR(4) BDY(WORD),     /* ENABLE ECB            * 02450000
*               3 ENCODE CHAR(1),            /* COMPLETION CODE       * 02460000
*               3 * CHAR(1),                                            02470000
*               3 * CHAR(1),                                            02480000
*                5 * BIT(7),                                            02490000
*                5 SELFPOST BIT(1),     /* TIMEOUT BIT                * 02500000
*               3 * CHAR(1);                                            02510000
*  /*                                                                 * 02520000
*         DCL RINBUF PTR GENERATED;     /* INPUT BUFFER POINTER       * 02530000
*        DCL REIBUF CHAR(80) BASED(RINBUF);                             02540000
*  /*                                                                 * 02550000
*         DCL RTALKBUF PTR GENERATED;   /* TALK BUFFER ADDRESS        * 02560000
*         DCL TALKBUF CHAR(72) BASED(RTALKBUF);   /* TALK BUFFER      * 02570000
*         DCL TALKECB FIXED GENERATED;  /* TALK ECB                   * 02580000
*         RESTRICT(R1);                                                 02590000
*  /******************************************************************* 02600000
*  /* CHECK FOR RETAIN ALREADY ACTIVE                                 * 02610000
*  /******************************************************************* 02620000
*  /*                                                                 * 02630000
*         IOB1=IOB1&&IOB1;                   /* ZERO IOB              * 02640000
         L     @C,REIOBPTR                                        0080  02650000
         XC    0(32,@C),0(@C)                                     0080  02660000
*         ENECB=0;                      /* ZERO-ENABLE ECB      S21051* 02670000
         MVC   ENECB(4),@D1                                       0081  02680000
*         IF RETAINAC='1'B THEN          /* IS REI ACTIVE.            * 02690000
         TM    A00034,B'10000000'                                 0082  02700000
*           RETURN;                      /* YES. RETURN.              * 02710000
         BC    03,@EL01                                           0083  02720000
*         IF REIUCB=0 THEN              /* NO REI UCB?         X03008*/ 02730000
@9FF     SR    @F,@F                                              0084  02740000
         C     @F,REIUCB                                          0084  02750000
         BC    07,@9FE                                            0084  02760000
*          DO;                          /* NO REI UCB,SEND     X03008*/ 02770000
*           R1=IFD164;                  /* ADDRESS MSG IFD164I X03008*/ 02780000
         L     @8,MSGPTR                                          0086  02790000
         L     @1,4(0,@8)                                         0086  02800000
*           LINKTEXT=LINKTEXT&&LINKTEXT;                                02810000
         L     @9,MSGPTR                                          0087  02820000
         L     @9,4(0,@9)          A00004                         0087  02830000
         XC    40(32,@9),40(@9)                                   0087  02840000
*           LINKTEXT=NOUCBTXT;          /* NO 2955 UCB IN SYS  X03008*/ 02850000
         MVC   40(23,@9),MSGTEXT                                  0088  02860000
         MVI   63(@9),C' '                                        0088  02870000
         MVC   64(8,@9),63(@9)                                    0088  02880000
*           GO TO NOUCBMSG;             /* PRINT MESSAGE       X03008*/ 02890000
         BC    15,NOUCBMSG                                        0089  02900000
*          END;                                                         02910000
*         DEVADDR=UCBDEVAD;             /* GET UCB DEV ADDR    X03008*/ 02920000
@9FE     L     @C,REIUCB                                          0091  02930000
         MVC   DEVTAB54+34(2),4(@C)                               0091  02940000
*         CHANADR=CHANADR&'3F'X;        /* IGNORE ALT PATHBITS X03008*/ 02950000
         NI    DEVTAB54+34,X'3F'                                  0092  02960000
*         PSEUDODVTAB='1'B;             /* SET BIT FOR SVC59   X03008*/ 02970000
         OI    DEVTAB54+14,B'00000001'                            0093  02980000
*         ROPT0=ADDR(DEVTAB54);         /* ADDRESS DEVTABS IN  X03008*/ 02990000
         LA    @F,DEVTAB54                                        0094  03000000
         ST    @F,SVCPLIST                                        0094  03010000
*         ROPT4=ONEDEV;                 /* ONE DEV TO LOOKUP  XM04008*/ 03020000
         MVC   SVCPLIST+4(4),ONEDEV                               0095  03030000
*         ROPT8=ADDR(IOSGENTBL);        /* IOS WORK AREA       X03008*/ 03040000
         L     @8,CVTADPTR                                        0096  03050000
         L     @8,0(0,@8)          CVTADDR                        0096  03060000
         L     @8,328(0,@8)        CVT                            0096  03070000
         L     @8,28(0,@8)         CVTOLTEP                       0096  03080000
         LA    @F,40(0,@8)                                        0096  03090000
         ST    @F,SVCPLIST+8                                      0096  03100000
*         R1=64;                        /* UCB LOOK UP FNCTN   X03008*/ 03110000
         LA    @1,64                                              0097  03120000
*         R0=ADDR(ROPT);                /* ADDR SVC PARM LIST  X03008*/ 03130000
         LA    @0,ROPT                                            0098  03140000
*         GEN(SVC 59);                  /* ISSUE UCB LOOKUP    X03008*/ 03150000
         SVC 59                                                         03160000
         DS    0H                                                       03170000
*         IF REIUCBAD=0 THEN            /* IF NO 2955 UCB      X03008*/ 03180000
         SR    @F,@F                                              0100  03190000
         MVC   @TEMP4(4),32(@8)                                   0100  03200000
         C     @F,@TEMP4                                          0100  03210000
         BC    07,@9FD                                            0100  03220000
*          DO;                       /* SET UP MESSAGE IFD164I  X03008* 03230000
*           R1=IFD164;               /* ADDRESS MESSAGE         X03008* 03240000
         L     @9,MSGPTR                                          0102  03250000
         L     @1,4(0,@9)                                         0102  03260000
*           LINKTEXT=LINKTEXT&&LINKTEXT;                                03270000
         L     @6,MSGPTR                                          0103  03280000
         L     @6,4(0,@6)          A00004                         0103  03290000
         XC    40(32,@6),40(@6)                                   0103  03300000
*                                    /* CLEAR VARIABLE IN MSG   X03008* 03310000
*           LINKTEXT=NAVAILTXT;      /* NO NO 2955 CU IN SYS    X03008* 03320000
         MVC   40(28,@6),MSGTEXT+23                               0104  03330000
         MVI   68(@6),C' '                                        0104  03340000
         MVC   69(3,@6),68(@6)                                    0104  03350000
*                                                                       03360000
* NOUCBMSG:                                                             03370000
*                                                                       03380000
*         R1=IFD164I;                /* ADDRESS MSG IFD164I     Y02008* 03390000
NOUCBMSG L     @1,IFD164I                                         0105  03400000
*         GEN( PWTO REG=(1));        /* ISSUE MESSAGE           Y02008* 03410000
          PWTO REG=(1)                                                  03420000
         DS    0H                                                       03430000
*         RETURN;                                          /*  Y02008*/ 03440000
         BC    15,@EL01                                           0107  03450000
*          END;                      /*                         X03008* 03460000
*                                                                       03470000
*         /*  OUTPUT MSG IFD140I IF OLTEP VARIED 2955 OFFLINE   Y02008* 03480000
*                                                                       03490000
*         IF DEVVAR='1'B             /* DEV VARY BIT ON BY SVC? Y02008* 03500000
*          THEN                                              /* Y02008* 03510000
@9FD     TM    DEVTAB54+15,B'00001000'                            0109  03520000
         BC    12,@9FC                                            0109  03530000
*           DO;                      /* OUTPUT IFD140I MSG      Y02008* 03540000
*            RESTRICT(R1);           /* RESTRICT REG FOR MSG    Y02008* 03550000
*            R1=IFD140;              /* ADDRESS MSG IN IFDOLT54 Y02008* 03560000
         L     @C,MSGPTR                                          0112  03570000
         L     @1,16(0,@C)                                        0112  03580000
*            MSG140DV(6:8)=UCBNAME;  /* PUT DEV NAME IN MSG     Y02008* 03590000
         L     @8,REIUCB                                          0113  03600000
         L     @9,MSGPTR                                          0113  03610000
         L     @9,16(0,@9)         A00004                         0113  03620000
         MVC   17(3,@9),13(@8)                                    0113  03630000
*            GEN (PWTO REG=(1));     /* ISSUE MSG TO SYSTEM     Y02008* 03640000
         PWTO REG=(1)                                                   03650000
         DS    0H                                                       03660000
*            DEVVAR='0'B;            /* ZERO DEV VARY BIT       Y02008* 03670000
         NI    DEVTAB54+15,B'11110111'                            0115  03680000
*           END;                                             /* Y02008* 03690000
*         /************************************************************ 03700000
*         /*                   BUILD DEB AND DCB                      * 03710000
*         /************************************************************ 03720000
*         ROPT4=TSTDEBAD;                /* DEB ADDRESS         Y02008* 03730000
@9FC     MVC   SVCPLIST+4(4),TSTDEBAD                             0117  03740000
*         ROPT0=ADDR(REIDEB);                                           03750000
         LA    @F,REIDEB                                          0118  03760000
         ST    @F,SVCPLIST                                        0118  03770000
*         DEBDCBAD=REIDCBPT;             /* PUT DCB ADDRESS IN DEB    * 03780000
         MVC   REIDEB+25(3),REIDCBPT+1                            0119  03790000
*         RDEB28=ADDR(ADRTABLE);        /* PUT ADDR OF I/O APPENDAGE  * 03800000
         L     @C,REIDCBPT                                        0120  03810000
         LA    @F,72(0,@C)                                        0120  03820000
         ST    @F,@TEMP4                                          0120  03830000
         MVC   REIDEB+29(3),@TEMP4+1                              0120  03840000
*                                       /*                       M4502* 03850000
*                                        /* VECTOR TABLE IN DEB       * 03860000
*         RUCBAD=REIUCB;                 /* PUT UCB ADDRESS IN DEB    * 03870000
         MVC   REIDEB+32(4),REIUCB                                0121  03880000
*         RDCB44= ROPT4;                 /* DEB ADDRESS IN SP254      * 03890000
         MVC   44(4,@C),SVCPLIST+4                                0122  03900000
*         RDCB44C='00'X;                 /* SET DCB FLAGS FOR NO ERP  * 03910000
         MVI   44(@C),X'00'                                       0123  03920000
*         NXTDEBAD=0;                    /* ZERO ADR OF NXT DEBXA01050* 03930000
         SR    @F,@F                                              0124  03940000
         ST    @F,REIDEB+4                                        0124  03950000
*         /************************************************************ 03960000
*         /*                   MOVE DEB                               * 03970000
*         /************************************************************ 03980000
*         ROPTMIN2='54';                 /* PUT ID IN SVC PARMLIST    * 03990000
         MVC   ROPTMIN2(2),@C5                                    0125  04000000
*         R1='48'X;                      /* PUT ONE DEB MOVE CALLING  * 04010000
         LA    @1,X'48'                                           0126  04020000
*                                       /* PARAMETER IN R1            * 04030000
*         R0=ADDR(ROPT);                 /* PUT ADDR OF SVC PARAMETER * 04040000
         LA    @0,ROPT                                            0127  04050000
*                                        /* LIST IN R0                * 04060000
*         GEN(SVC  59);                  /* MOVE DEB                  * 04070000
         SVC  59                                                        04080000
         DS    0H                                                       04090000
*  /******************************************************************* 04100000
*  /* ENABLE 2955 AND TRY TO ESTABLISH CONTACT                        * 04110000
*  /******************************************************************* 04120000
*         FLAGS = '42'X;                     /* INDICATE CCW CHAINING * 04130000
         L     @8,REIOBPTR                                        0129  04140000
         MVI   0(@8),X'42'                                        0129  04150000
*         ECBA = ADDR(ENECB);                /* ADDR OF ECB FOR IOB   * 04160000
         LA    @F,ENECB                                           0130  04170000
         ST    @F,@TEMP4                                          0130  04180000
         MVC   5(3,@8),@TEMP4+1                                   0130  04190000
*         CPA = ADDR(CCWENABL);              /* ADDR OF CHAN PROG     * 04200000
         LA    @F,CCWENABL                                        0131  04210000
         ST    @F,@TEMP4                                          0131  04220000
         MVC   17(3,@8),@TEMP4+1                                  0131  04230000
*         DCBA = REIDCBPT;                   /* DCB ADDRESS           * 04240000
         MVC   21(3,@8),REIDCBPT+1                                0132  04250000
*         BUFADR=RINBUF;            /* ADDRESS OF BUFR INTO CCW       * 04260000
         MVC   READCP+1(3),RINBUF+1                               0133  04270000
*         R1=REIOBPTR;                  /* ADDRESS OF IOB IN REG 1    * 04280000
         L     @1,REIOBPTR                                        0134  04290000
*         GEN;                                                          04300000
CONTACT  EXCP  (1)                     *ENABLE 2955&CONTACT RAC         04310000
STRTCLCK STIMER REAL,TIMEOUT,DINTVL=TIME2                               04320000
WAITENBL WAIT  ECB=ENECB                     * WAIT FOR COMPLETION      04330000
STOPCLCK TTIMER CANCEL                                                  04340000
         DS    0H                                                       04350000
*                                                                       04360000
*         IF SELFPOST^='1'B THEN GOTO CHKECB; /*TIMEOUT ?             * 04370000
         TM    ENECB+2,B'00000001'                                0136  04380000
         BC    12,CHKECB                                          0137  04390000
*                                                                       04400000
*         R1=IFD164;                    /* ADDR MESSAGE IFD164  X03008* 04410000
         L     @9,MSGPTR                                          0138  04420000
         L     @1,4(0,@9)                                         0138  04430000
*         LINKTEXT=LINKTEXT&&LINKTEXT;                                  04440000
         L     @6,MSGPTR                                          0139  04450000
         L     @6,4(0,@6)          A00004                         0139  04460000
         XC    40(32,@6),40(@6)                                   0139  04470000
*         LINKTEXT=TOUTTXT;            /* TIMEOUT MESSAGE       X03008* 04480000
         MVC   40(31,@6),MSGTEXT+51                               0140  04490000
         MVI   71(@6),C' '                                        0140  04500000
*         GOTO FAILED;                                                  04510000
         BC    15,FAILED                                          0141  04520000
*  CHKECB:                                                              04530000
*         IF ENCODE^='7F'X THEN        /* I/O NOT DONE          X03008* 04540000
CHKECB   CLI   ENECB,X'7F'                                        0142  04550000
         BC    08,@9FB                                            0142  04560000
*          DO;                         /* HARDWARE/INTERFACE    X03008* 04570000
*          R1=IFD164;                  /* ADDR MESSAGE          X03008* 04580000
         L     @C,MSGPTR                                          0144  04590000
         L     @1,4(0,@C)                                         0144  04600000
*          LINKTEXT=LINKTEXT&&LINKTEXT;  /* CLEAR VARIABLE MSG  X03008* 04610000
         L     @8,MSGPTR                                          0145  04620000
         L     @8,4(0,@8)          A00004                         0145  04630000
         XC    40(32,@8),40(@8)                                   0145  04640000
*          LINKTEXT=EQMPTTXT;          /* HDWRE/INTRFC ERR      X03008* 04650000
         MVC   40(24,@8),MSGTEXT+110                              0146  04660000
         MVI   64(@8),C' '                                        0146  04670000
         MVC   65(7,@8),64(@8)                                    0146  04680000
*          GO TO FAILED;               /* GO PRINT MESSAGE      X03008* 04690000
         BC    15,FAILED                                          0147  04700000
*         END;                         /*                       X03008* 04710000
*  /******************************************************************* 04720000
*  /* CONTACT ESTABLISHED,WRITE POSITIVE RESPONSE TO REMOTE           * 04730000
*  /******************************************************************* 04740000
*  WRTRSP:ENECB=0;                      /* ZERO THE ECB               * 04750000
@9FB     EQU   *                                                  0149  04760000
WRTRSP   MVC   ENECB(4),@D1                                       0149  04770000
*         IOB1=IOB1&&IOB1;                   /* ZERO IOB              * 04780000
         L     @C,REIOBPTR                                        0150  04790000
         XC    0(32,@C),0(@C)                                     0150  04800000
*         FLAGS='42'X;                  /* INDICATE CCW CHAINING      * 04810000
         MVI   0(@C),X'42'                                        0151  04820000
*         ECBA=ADDR(ENECB);             /* ADDRESS OF ECB IN IOB      * 04830000
         LA    @F,ENECB                                           0152  04840000
         ST    @F,@TEMP4                                          0152  04850000
         MVC   5(3,@C),@TEMP4+1                                   0152  04860000
*         CPA=ADDR(CCWWRPOS);           /* CHAN PROG ADDR IN IOB      * 04870000
         LA    @F,CCWWRPOS                                        0153  04880000
         ST    @F,@TEMP4                                          0153  04890000
         MVC   17(3,@C),@TEMP4+1                                  0153  04900000
*         BUFADR1=ADDR(POS);            /* ADDRESS OF DATA INTO CCW   * 04910000
         LA    @F,POS                                             0154  04920000
         ST    @F,@TEMP4                                          0154  04930000
         MVC   WRPOS+1(3),@TEMP4+1                                0154  04940000
*         BUFADR2=ADDR(RESPONSE);       /*ADDRESS OF RECEIVE BUF IN CC* 04950000
         LA    @F,RESPONSE                                        0155  04960000
         ST    @F,@TEMP4                                          0155  04970000
         MVC   RDEOT+1(3),@TEMP4+1                                0155  04980000
*         DCBA=REIDCBPT;                /*ADDRESS OF DCB INTO IOB     * 04990000
         MVC   21(3,@C),REIDCBPT+1                                0156  05000000
*         R1=REIOBPTR;                  /* ADDRESS OF IOB IN REG 1    * 05010000
         L     @1,REIOBPTR                                        0157  05020000
*         GEN;                                                          05030000
WRITRESP EXCP  (1)                     *WRITE Y READ EOT                05040000
STRTCLK1 STIMER REAL,TIMEOUT,DINTVL=TIME2   *                     M4502 05050000
WAITRESP WAIT  ECB=ENECB                                                05060000
STOPCLK1 TTIMER CANCEL                      *                     M4502 05070000
         TM    ENECB,X'7F'                                              05080000
         BO    ESTABL                                          X02008   05090000
         DS    0H                                                       05100000
*         R1=IFD164;                   /* ADDRESS MESSAGE       X03008* 05110000
         L     @8,MSGPTR                                          0159  05120000
         L     @1,4(0,@8)                                         0159  05130000
*         LINKTEXT=LINKTEXT&&LINKTEXT; /* CLEAR MESSAGE         X03008* 05140000
         L     @9,MSGPTR                                          0160  05150000
         L     @9,4(0,@9)          A00004                         0160  05160000
         XC    40(32,@9),40(@9)                                   0160  05170000
*         LINKTEXT=RIWTOTXT;           /* ADDR READ INIT WAIT   X03008* 05180000
         MVC   40(28,@9),MSGTEXT+82                               0161  05190000
         MVI   68(@9),C' '                                        0161  05200000
         MVC   69(3,@9),68(@9)                                    0161  05210000
*  /******************************************************************* 05220000
*  /* FAILED TO ESTABLISH CONTACT TELL ON-SITE VIA PWTO              */ 05230000
*  /******************************************************************* 05240000
*  FAILED:R1 = IFD164;                  /* ADDRESS OF ERROR MESSAGE   * 05250000
FAILED   L     @C,MSGPTR                                          0162  05260000
         L     @1,4(0,@C)                                         0162  05270000
*         GEN(PWTO  REG=(1));           /* ISSUE IT                   * 05280000
         PWTO  REG=(1)                                                  05290000
         DS    0H                                                       05300000
*         IF SELFPOST^='1'B             /* WAS THERE TIME OUT  X03008*/ 05310000
*          THEN                         /* IN INTERFACE ?      X03008*/ 05320000
         TM    ENECB+2,B'00000001'                                0164  05330000
*           GO TO AA1;                  /* NO, PRNT OUT SENSE  X03008*/ 05340000
*         RETURN;                                                       05350000
         BC    03,@EL01                                           0166  05360000
*     AA1:SNSOUT=SENSE;                 /* GET SENSE BYTES            * 05370000
AA1      L     @C,REIOBPTR                                        0167  05380000
         MVC   OUTBUFR(2),2(@C)                                   0167  05390000
*         CSWOUT=CSW;                   /* GET CSW BYTES              * 05400000
         MVC   OUTBUFR+2(7),9(@C)                                 0168  05410000
*         R1=ADDR(CNVRT);               /* POINT TO CALLING SEQUENCE  * 05420000
         LA    @1,CNVRT                                           0169  05430000
*         R15=TAB28;                    /* POINT TO CONVERT MACRO     * 05440000
         L     @F,TAB28                                           0170  05450000
*         GEN(BALR R14,R15);            /* CONVERT SNS&CSW TO EBCDIC  * 05460000
         BALR R14,R15                                                   05470000
         DS    0H                                                       05480000
*         R1=IFD137;                    /* SET UP FOR PWTO            * 05490000
         L     @8,MSGPTR                                          0172  05500000
         L     @1,12(0,@8)                                        0172  05510000
*         MSGSNS=SNSIN;                 /* PUT IN SENSE DATA          * 05520000
         L     @9,MSGPTR                                          0173  05530000
         L     @9,12(0,@9)         A00004                         0173  05540000
         MVC   37(4,@9),INBUF                                     0173  05550000
         MVI   41(@9),C' '                                        0173  05560000
         MVC   42(7,@9),41(@9)                                    0173  05570000
*         MSGCSW=CSWIN;                 /* PUT IN CSW DATA            * 05580000
         MVC   18(14,@9),INBUF+4                                  0174  05590000
*         GEN(PWTO REG=(1));            /* WRITE IT                   * 05600000
         PWTO REG=(1)                                                   05610000
         DS    0H                                                       05620000
*         R1=REIUCB;                    /* YES                        * 05630000
         L     @1,REIUCB                                          0176  05640000
*         GEN;                          /* SETUP TO PURGE EXCP        * 05650000
HIOENABL SVC   33                      * PURGE                          05660000
         DS    0H                                                       05670000
*         RETURN;                                                       05680000
         BC    15,@EL01                                           0178  05690000
*  /******************************************************************* 05700000
*  /* CONNECTION IS CONFIRMED TELL ON-SITE,ISSUE OUTSTANDING          * 05710000
*  /* COMMUNICATIONS WTOR,SET APPROPRIATE SWITCHES AND ISSUE READ     * 05720000
*  /* INITIAL CHANNEL PROGRAM BEFORE RETURNING                        * 05730000
*  /******************************************************************* 05740000
*  ESTABL:R1=IFD163;                                                    05750000
ESTABL   L     @C,MSGPTR                                          0179  05760000
         L     @1,0(0,@C)                                         0179  05770000
*         RETAINAC = '1'B;                   /* SET RETAIN ACTIVE SWT * 05780000
         OI    A00034,B'10000000'                                 0180  05790000
*         RETSWT = '1'B;                     /* ANOTHER ACTIVE SWT    * 05800000
         OI    A00036+36,B'00100000'                              0181  05810000
*         REMNOMSG='1'B;                /* REMOTE NO MESSAGE          * 05820000
         OI    A00034,B'00100000'                                 0182  05830000
*         GEN(PWTO   REG=(1));                                          05840000
         PWTO   REG=(1)                                                 05850000
         DS    0H                                                       05860000
*         REMNOMSG='0'B;                /* RESET FLAG                 * 05870000
         NI    A00034,B'11011111'                                 0184  05880000
*         R1=IFD168;                    /* ADDR OF MSG TO R1          * 05890000
         L     @1,8(0,@C)                                         0185  05900000
*         BUFAD=RTALKBUF;               /* ADDR OF RESPONSE BUFFER    * 05910000
         MVC   1(3,@1),RTALKBUF+1                                 0186  05920000
*         TALKBUF(1)=' ';                /*                      M5842* 05930000
         L     @8,RTALKBUF                                        0187  05940000
         MVI   0(@8),C' '                                         0187  05950000
*         TALKBUF(2:72)=TALKBUF(1:71);   /*                      M5842* 05960000
         MVC   1(71,@8),0(@8)                                     0188  05970000
*         LENGTH='48'X;                 /* LENGTH OF BUFFER           * 05980000
         MVI   0(@1),X'48'                                        0189  05990000
*         TALKECB=0;                    /* ZERO ECB                   * 06000000
         SR    @F,@F                                              0190  06010000
         ST    @F,TALKECB                                         0190  06020000
*         MECBAD=ADDR(TALKECB);         /* ADDR OF ECB                * 06030000
         LA    @F,TALKECB                                         0191  06040000
         ST    @F,4(0,@1)                                         0191  06050000
*         REMNOMSG='1'B;                /* DONT SEND TO REMOTE        * 06060000
         OI    A00034,B'00100000'                                 0192  06070000
*         GEN(PWTOR  REG=(1),WAIT=NO);   /* ISSUE WTOR                * 06080000
         PWTOR  REG=(1),WAIT=NO                                         06090000
         DS    0H                                                       06100000
*         REMNOMSG='0'B;                 /*ZERO REMNOMSG FLAG         * 06110000
         NI    A00034,B'11011111'                                 0194  06120000
*         REIBUF=REIBUF&&REIBUF;    /* ZERO REMOTE INPUT BUFFER       * 06130000
         L     @9,RINBUF                                          0195  06140000
         XC    0(80,@9),0(@9)                                     0195  06150000
*         IOB1=IOB1&&IOB1;                   /* ZERO IOB              * 06160000
         L     @6,REIOBPTR                                        0196  06170000
         XC    0(32,@6),0(@6)                                     0196  06180000
*         FLAGS='42'X;                  /* CCW CHAINING IN IOB        * 06190000
         MVI   0(@6),X'42'                                        0197  06200000
*         RECB = 0;                          /* ZERO REMOTE ECB       * 06210000
         SR    @F,@F                                              0198  06220000
         ST    @F,RECB                                            0198  06230000
*         ECBA = ADDR(RECB);                 /* ADDR OF REMOTE ECB    * 06240000
         LA    @F,RECB                                            0199  06250000
         ST    @F,@TEMP4                                          0199  06260000
         MVC   5(3,@6),@TEMP4+1                                   0199  06270000
*         CPA = ADDR(CCWPREP);               /* ADDR OF READ INIT CP  * 06280000
         LA    @F,CCWPREP                                         0200  06290000
         ST    @F,@TEMP4                                          0200  06300000
         MVC   17(3,@6),@TEMP4+1                                  0200  06310000
*         DCBA = REIDCBPT;                   /* DCB ADDRESS           * 06320000
         MVC   21(3,@6),REIDCBPT+1                                0201  06330000
*         R1=REIOBPTR;                  /* ADDRESS OF IOB IN REG 1    * 06340000
         L     @1,REIOBPTR                                        0202  06350000
*         GEN;                                                          06360000
READINIT EXCP  (1)                                                      06370000
         DS    0H                                                       06380000
*         RETURN;                                                       06390000
*  /******************************************************************* 06400000
*  /* STIMER EXIT ROUTINE-2 MINUTE INTERUPT                           * 06410000
*  /******************************************************************* 06420000
*  TIMEOUT:PROCEDURE;                                                   06430000
@EL01    L     @D,4(0,@D)                                         0205  06440000
         LM    @E,@C,12(@D)                                       0205  06450000
         BCR   15,@E                                              0205  06460000
TIMEOUT  STM   @E,@C,12(@D)                                       0205  06470000
         ST    @D,@SAV002+4                                       0205  06480000
         LA    @F,@SAV002                                         0205  06490000
         ST    @F,8(0,@D)                                         0205  06500000
         LR    @D,@F                                              0205  06510000
*         GENERATE;                                                     06520000
* POST 100 COMPLETION CODE                                              06530000
POSTECB  POST  ENECB,256                                                06540000
         DS    0H                                                       06550000
*         RETURN;                                                       06560000
*         END TIMEOUT;                                                  06570000
@EL02    L     @D,4(0,@D)                                         0208  06580000
         LM    @E,@C,12(@D)                                       0208  06590000
         BCR   15,@E                                              0208  06600000
*         END IFDOLT54;                                                 06610000
@DATA1   EQU   *                                                        06620000
@0       EQU   00                  EQUATES FOR REGISTERS 0-15           06630000
@1       EQU   01                                                       06640000
@2       EQU   02                                                       06650000
@3       EQU   03                                                       06660000
@4       EQU   04                                                       06670000
@5       EQU   05                                                       06680000
@6       EQU   06                                                       06690000
@7       EQU   07                                                       06700000
@8       EQU   08                                                       06710000
@9       EQU   09                                                       06720000
@A       EQU   10                                                       06730000
@B       EQU   11                                                       06740000
@C       EQU   12                                                       06750000
@D       EQU   13                                                       06760000
@E       EQU   14                                                       06770000
@F       EQU   15                                                       06780000
@D1      DC    F'0'                                                     06790000
         DS    0F                                                       06800000
@C5      DC    C'54'                                                    06810000
         DS    0D                                                       06820000
@DATA    EQU   *                                                        06830000
@SAV001  EQU   @DATA+00000000      72 BYTE(S) ON WORD                   06840000
         ORG   @DATA+00000072                                           06850000
POS      EQU   *                   1 BYTE(S)                            06860000
         DC    X'76'                                                    06870000
RESPONSE EQU   @DATA+00000073      5 BYTE(S)                            06880000
R0       EQU   00000000            FULLWORD POINTER REGISTER            06890000
R1       EQU   00000001            FULLWORD POINTER REGISTER            06900000
R2       EQU   00000002            FULLWORD POINTER REGISTER            06910000
R3       EQU   00000003            FULLWORD INTEGER REGISTER            06920000
R4       EQU   00000004            FULLWORD INTEGER REGISTER            06930000
R5       EQU   00000005            FULLWORD INTEGER REGISTER            06940000
R6       EQU   00000006            FULLWORD INTEGER REGISTER            06950000
R7       EQU   00000007            FULLWORD INTEGER REGISTER            06960000
R8       EQU   00000008            FULLWORD INTEGER REGISTER            06970000
R9       EQU   00000009            FULLWORD INTEGER REGISTER            06980000
R10      EQU   00000010            FULLWORD INTEGER REGISTER            06990000
R11      EQU   00000011            FULLWORD INTEGER REGISTER            07000000
R12      EQU   00000012            FULLWORD INTEGER REGISTER            07010000
R13      EQU   00000013            FULLWORD INTEGER REGISTER            07020000
R14      EQU   00000014            FULLWORD INTEGER REGISTER            07030000
R15      EQU   00000015            FULLWORD INTEGER REGISTER            07040000
A00003   EQU   00000000            8 BYTE(S) ON WORD                    07050000
LENGTH   EQU   A00003+00000000     1 BYTE(S)                            07060000
BUFAD    EQU   A00003+00000001     3  BYTE  POINTER ON WORD+1           07070000
MECBAD   EQU   A00003+00000004     FULLWORD POINTER                     07080000
         ORG   @DATA+00000080                                           07090000
MSGPTR   EQU   *                   FULLWORD POINTER                     07100000
         DC    VL4(IFDMSG54)                                            07110000
A00004   EQU   00000000            20 BYTE(S) ON WORD                   07120000
IFD163   EQU   A00004+00000000     FULLWORD POINTER                     07130000
IFD164   EQU   A00004+00000004     FULLWORD POINTER                     07140000
IFD168   EQU   A00004+00000008     FULLWORD POINTER                     07150000
IFD137   EQU   A00004+00000012     FULLWORD POINTER                     07160000
IFD140   EQU   A00004+00000016     FULLWORD POINTER                     07170000
ERRMSG   EQU   00000000            47 BYTE(S)                           07180000
A00005   EQU   ERRMSG+00000000     4 BYTE(S)                            07190000
A00006   EQU   ERRMSG+00000004     14 BYTE(S)                           07200000
MSGCSW   EQU   ERRMSG+00000018     14 BYTE(S)                           07210000
A00007   EQU   ERRMSG+00000032     5 BYTE(S)                            07220000
MSGSNS   EQU   ERRMSG+00000037     12 BYTE(S)                           07230000
LINKMSG  EQU   00000000            68 BYTE(S)                           07240000
A00008   EQU   LINKMSG+00000000    40 BYTE(S)                           07250000
LINKTEXT EQU   LINKMSG+00000040    32 BYTE(S)                           07260000
MSGTEXT  EQU   @DATA+00000084      106 BYTE(S)                          07270000
NOUCBTXT EQU   *                   23 BYTE(S)                           07280000
         DC    C'NO UCB SYSGEND FOR 2955'                               07290000
NAVAILTX EQU   *                   28 BYTE(S)                           07300000
         DC    C'2955 CU NOT FREE FOR TESTING'                          07310000
TOUTTXT  EQU   *                   31 BYTE(S)                           07320000
         DC    C'INITIAL REMOTE RESPONSE TIMEOUT'                       07330000
RIWTOTXT EQU   *                   28 BYTE(S)                           07340000
         DC    C'TIMEOUT ON READ INITIAL WAIT'                          07350000
EQMPTTXT EQU   *                   24 BYTE(S)                           07360000
         DC    C'HARDWARE/INTERFACE ERROR'                              07370000
MSG140   EQU   00000000            20 BYTE(S)                           07380000
A00009   EQU   MSG140+00000000     12 BYTE(S)                           07390000
MSG140DV EQU   MSG140+00000012     8 BYTE(S)                            07400000
INBUF    EQU   @DATA+00000218      18 BYTE(S)                           07410000
SNSIN    EQU   INBUF+00000000      4 BYTE(S)                            07420000
CSWIN    EQU   INBUF+00000004      14 BYTE(S)                           07430000
OUTBUFR  EQU   @DATA+00000236      9 BYTE(S)                            07440000
SNSOUT   EQU   OUTBUFR+00000000    2 BYTE(S)                            07450000
CSWOUT   EQU   OUTBUFR+00000002    7 BYTE(S)                            07460000
         ORG   @DATA+00000248                                           07470000
TIME2    EQU   *                   8 BYTE(S) ON DWORD                   07480000
         DC    X'F0F0F1F0F0F0F0C0'                                      07490000
UCB2955  EQU   00000000            16 BYTE(S)                           07500000
A00010   EQU   UCB2955+00000000    4 BYTE(S)                            07510000
UCBDEVAD EQU   UCB2955+00000004    2 BYTE(S)                            07520000
UCBCHNAD EQU   UCB2955+00000004    1 BYTE(S)                            07530000
UCBUADR  EQU   UCB2955+00000005    1 BYTE(S)                            07540000
A00011   EQU   UCB2955+00000006    7 BYTE(S)                            07550000
UCBNAME  EQU   UCB2955+00000013    3 BYTE(S)                            07560000
ONEDEV   EQU   *                   FULLWORD INTEGER                     07570000
         DC    XL4'00000001'                                            07580000
DEVTAB54 EQU   *                   36*1 BYTE(S)                         07590000
         DC    00036X'00'                                               07600000
A00012   EQU   DEVTAB54+00000000   8 BYTE(S)                            07610000
DEVUCB   EQU   DEVTAB54+00000008   4  BYTE  POINTER                     07620000
DEVFLGS  EQU   DEVTAB54+00000012   4 BYTE(S)                            07630000
A00013   EQU   DEVTAB54+00000012   2 BYTE(S)                            07640000
FLAG3    EQU   DEVTAB54+00000014   1 BYTE(S)                            07650000
A00014   EQU   DEVTAB54+00000014   7 BIT(S)                             07660000
PSEUDODV EQU   DEVTAB54+00000014   1 BIT(S)                             07670000
FLAG4    EQU   DEVTAB54+00000015   1 BYTE(S)                            07680000
A00015   EQU   DEVTAB54+00000015   4 BIT(S)                             07690000
DEVVAR   EQU   DEVTAB54+00000015   1 BIT(S)                             07700000
A00016   EQU   DEVTAB54+00000016   16 BYTE(S)                           07710000
CDSDEVAD EQU   DEVTAB54+00000032   4 BYTE(S)                            07720000
A00017   EQU   DEVTAB54+00000032   2 BYTE(S)                            07730000
DEVADDR  EQU   DEVTAB54+00000034   2 BYTE(S)                            07740000
CHANADR  EQU   DEVTAB54+00000034   1 BYTE(S)                            07750000
         ORG   @DATA+00000332                                           07760000
CVTADPTR EQU   *                   FULLWORD POINTER                     07770000
         DC    AL4(16)                                                  07780000
CVTADDR  EQU   00000000            FULLWORD POINTER                     07790000
CVT      EQU   00000000            332 BYTE(S) ON WORD                  07800000
A00018   EQU   CVT+00000000        40 BYTE(S)                           07810000
CVTILK2  EQU   CVT+00000040        FULLWORD POINTER                     07820000
A00019   EQU   CVT+00000044        284 BYTE(S)                          07830000
CVTEXT2  EQU   CVT+00000328        FULLWORD POINTER                     07840000
CVTOLTEP EQU   00000028            FULLWORD POINTER                     07850000
OLTEPTAB EQU   00000000            24 BYTE(S)                           07860000
DIEHEAD  EQU   OLTEPTAB+00000000   4 BYTE(S)                            07870000
REIDEBAD EQU   OLTEPTAB+00000004   4  BYTE  POINTER                     07880000
A00020   EQU   OLTEPTAB+00000008   20 BYTE(S)                           07890000
OLTEPUCB EQU   OLTEPTAB+00000028   4  BYTE  POINTER                     07900000
REIUCBAD EQU   OLTEPTAB+00000032   4  BYTE  POINTER                     07910000
A00021   EQU   OLTEPTAB+00000036   4 BYTE(S)                            07920000
IOSGENTB EQU   OLTEPTAB+00000040   18*4  BYTE  INTEGER                  07930000
REIDEB   EQU   @DATA+00000336      48 BYTE(S) ON WORD                   07940000
A00022   EQU   *                   4*1 BYTE(S)                          07950000
         DC    00004X'00'                                               07960000
NXTDEBAD EQU   REIDEB+00000004     FULLWORD POINTER                     07970000
         ORG   REIDEB+00000008                                          07980000
A00023   EQU   *                   8*1 BYTE(S)                          07990000
         DC    00008X'00'                                               08000000
NEXTS    EQU   *                   1 BYTE(S)                            08010000
         DC    X'00'                                                    08020000
A00024   EQU   *                   7*1 BYTE(S)                          08030000
         DC    00007X'00'                                               08040000
DEBID    EQU   *                   1 BYTE(S)                            08050000
         DC    X'0F'                                                    08060000
DEBDCBAD EQU   REIDEB+00000025     3  BYTE  POINTER ON WORD+1           08070000
         ORG   REIDEB+00000028                                          08080000
RDEB28C  EQU   *                   1 BYTE(S)                            08090000
         DC    X'02'                                                    08100000
RDEB28   EQU   REIDEB+00000029     3  BYTE  POINTER ON WORD+1           08110000
RUCBAD   EQU   REIDEB+00000032     FULLWORD POINTER                     08120000
         ORG   REIDEB+00000036                                          08130000
A00025   EQU   *                   12*1 BYTE(S)                         08140000
         DC    00012X'00'                                               08150000
REIDCB   EQU   00000000            72 BYTE(S)                           08160000
A00026   EQU   REIDCB+00000000     18*4  BYTE  INTEGER                  08170000
A00027   EQU   REIDCB+00000000     44 BYTE(S)                           08180000
RDCB44   EQU   REIDCB+00000044     4  BYTE  POINTER                     08190000
RDCB44C  EQU   REIDCB+00000044     1 BYTE(S)                            08200000
ADRTABLE EQU   REIDCB+00000072     5*4  BYTE  INTEGER                   08210000
IOB      EQU   00000000            40 BYTE(S)                           08220000
IOB1     EQU   IOB+00000000        32 BYTE(S)                           08230000
FLAGS    EQU   IOB+00000000        8 BIT(S)                             08240000
DCH      EQU   IOB+00000000        1 BIT(S)                             08250000
CCH      EQU   IOB+00000000        1 BIT(S)                             08260000
A00028   EQU   IOB+00000000        6 BIT(S)                             08270000
A00029   EQU   IOB+00000001        1 BYTE(S)                            08280000
SENSE    EQU   IOB+00000002        2 BYTE(S)                            08290000
ECBC     EQU   IOB+00000004        8 BIT(S)                             08300000
ECBA     EQU   IOB+00000005        3  BYTE  POINTER                     08310000
A00030   EQU   IOB+00000008        1 BYTE(S)                            08320000
CSW      EQU   IOB+00000009        7 BYTE(S)                            08330000
A00031   EQU   IOB+00000016        8 BIT(S)                             08340000
CPA      EQU   IOB+00000017        3  BYTE  POINTER                     08350000
A00032   EQU   IOB+00000020        8 BIT(S)                             08360000
DCBA     EQU   IOB+00000021        3  BYTE  POINTER                     08370000
A00033   EQU   IOB+00000024        4*4  BYTE  INTEGER                   08380000
ENECB    EQU   @DATA+00000384      4 BYTE(S) ON WORD                    08390000
ENCODE   EQU   ENECB+00000000      1 BYTE(S)                            08400000
A00041   EQU   ENECB+00000001      1 BYTE(S)                            08410000
A00042   EQU   ENECB+00000002      1 BYTE(S)                            08420000
A00043   EQU   ENECB+00000002      7 BIT(S)                             08430000
SELFPOST EQU   ENECB+00000002      1 BIT(S)                             08440000
A00044   EQU   ENECB+00000003      1 BYTE(S)                            08450000
REIBUF   EQU   00000000            80 BYTE(S)                           08460000
TALKBUF  EQU   00000000            72 BYTE(S)                           08470000
IFD164I  EQU   @DATA+00000388      FULLWORD INTEGER                     08480000
@SAV002  EQU   @DATA+00000392      72 BYTE(S) ON WORD                   08490000
         ORG   @DATA                                                    08500000
         DS    00000464C                                                08510000
@TEMPS   DS    0F                                                       08520000
@TEMP4   DC    F'0'                                                     08530000
CCWENABL CCW   39,0,96,1                                                08540000
CCWPREP  CCW   6,0,96,1                                                 08550000
CCWREADD CCW   2,0,32,78                                                08560000
CCWWRPOS CCW   1,0,96,1                                        X02008   08570000
CCWRDEOT CCW   2,0,32,1                                        X02008   08580000
         SPACE                                                          08590000
CNVRT    DC    B'00000000'                                              08600000
         DC    AL1(2)                                                   08610000
         DC    CL2'41'                                                  08620000
         DC    A(OUTBUFR)                                               08630000
         DC    A(INBUF)                                                 08640000
         DC    AL2(9+32768)                                             08650000
RACINIT  IFDCOM                                                         08660000
READCP   EQU   CCWREADD+00000000   8 BYTE(S)                            08670000
OP       EQU   READCP+00000000     8 BIT(S)                             08680000
BUFADR   EQU   READCP+00000001     3  BYTE  POINTER                     08690000
FLG      EQU   READCP+00000004     8 BIT(S)                             08700000
A00000   EQU   READCP+00000005     8 BIT(S)                             08710000
BYTECNT  EQU   READCP+00000006     16 BIT(S)                            08720000
WRPOS    EQU   CCWWRPOS+00000000   8 BYTE(S)                            08730000
OP1      EQU   WRPOS+00000000      8 BIT(S)                             08740000
BUFADR1  EQU   WRPOS+00000001      3  BYTE  POINTER                     08750000
FLG1     EQU   WRPOS+00000004      8 BIT(S)                             08760000
A00001   EQU   WRPOS+00000005      8 BIT(S)                             08770000
BYTECNT1 EQU   WRPOS+00000006      16 BIT(S)                            08780000
RDEOT    EQU   CCWRDEOT+00000000   8 BYTE(S)                            08790000
OP2      EQU   RDEOT+00000000      8 BIT(S)                             08800000
BUFADR2  EQU   RDEOT+00000001      3  BYTE  POINTER                     08810000
FLG2     EQU   RDEOT+00000004      8 BIT(S)                             08820000
A00002   EQU   RDEOT+00000005      8 BIT(S)                             08830000
BYTECNT2 EQU   RDEOT+00000006      16 BIT(S)                            08840000
ROPTMIN2 EQU   ROPT-00000002       2 BYTE(S)                            08850000
SVCPLIST EQU   ROPT+00000000       12 BYTE(S) ON WORD                   08860000
ROPT0    EQU   SVCPLIST+00000000   FULLWORD POINTER                     08870000
ROPT4    EQU   SVCPLIST+00000004   FULLWORD POINTER                     08880000
ROPT8    EQU   SVCPLIST+00000008   FULLWORD POINTER                     08890000
A00034   EQU   CESWTR+00000000     1 BYTE(S) ON WORD                    08900000
RETAINAC EQU   A00034+00000000     1 BIT(S)                             08910000
REMERR   EQU   A00034+00000000     1 BIT(S)                             08920000
REMNOMSG EQU   A00034+00000000     1 BIT(S)                             08930000
A00035   EQU   A00034+00000000     5 BIT(S)                             08940000
A00036   EQU   CHASCT+00000000     40 BYTE(S) ON WORD                   08950000
A00037   EQU   A00036+00000000     9*FULLWORD INTEGER                   08960000
A00038   EQU   A00036+00000036     FULLWORD INTEGER                     08970000
A00039   EQU   A00036+00000036     2 BIT(S)                             08980000
RETSWT   EQU   A00036+00000036     1 BIT(S)                             08990000
A00040   EQU   A00036+00000036     29 BIT(S)                            09000000
RECB     EQU   REIECB+00000000     FULLWORD INTEGER                     09010000
@DATEND  EQU   *                                                        09020000
         END   IFDOLT54                                                 09030000
