FTN4,Q,C
* 
*     DATE: MARCH 15, 1979
*     NAME: TXTD3 
*     SOURCE: 91711-18026 
*     RELOC:  91711-16026 
*     PGMR:  R.T.A. 
* 
*  *******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS         *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,          *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT    *
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.           *
*  *******************************************************************
* 
* 
* 
      PROGRAM TXTD3 (5,89),91711-16026  REV 1926  790906
C     28.06.79
C 
C     THIS SEGMENT IS CALLED BY THE MAIN WHEN THE RUN STRING CONTAINS 
C     A NONZERO OP CODE PARAMETER, WHICH GETS VALIDATED HERE.  ELSE 
C     TXTD3 IS ENTERED WHEN IMPTM HAS FINISHED SHOWING THE SURVEY MESSAGE 
C     AND THE OP CODE HAS BEEN FORCED DEFINED TO BE SPACE-SPACE 
C     TO EXIT.  THE THIRD CIRCUMSTANCE WHERE PROGRAM CONTROL TRANSFERS TO 
C     TXTD3 HAPPENS  WHEN AN OP CODE HAS CAUSED THIS SEGMENT TO BE
C     OVERLAID WITH IMPTM, CFTML, TXTD2, IWRZZ, AND ONE OF THOSE SEGMENTS 
C     TRANSFERS PROGRAM CONTROL BACK TO TXTD3, WHETHER TO VALIDATE AN 
C     OP CODE ENTERED IN ANOTHER SEGMENT WHICH COULDN'T BE EXECUTED 
C     THERE, OR TO EXIT RUNNING TXTD1.
C 
      COMMON IARAY(3),ILU(1),ILLU(1),INLU(1),ITLU(1),IXLU(1), 
     +IBUFR(128),IGRUP(30),KOFLN(30),IBUFV(60)
      DIMENSION INAM1(3),INAM2(3),INAM3(3),IREG(2),IPARM(5) 
      EQUIVALENCE (IREG(1),IA,REG),(IREG(2),IB) 
      DATA IDB4/0/
      DATA INAM1/2HTX,2HTD,2H2 /
      DATA INAM2/2HIW,2HRZ,2HZ /
      DATA INAM3/2HIM,2HPT,2HM /
C 
C 
C 
      CALL RMPAR(IPARM) 
C 
C   CHECK FOR INLU SET TO EQT 0 
C   COMPLETE IMMEDIATELY IF TRUE
C 
      IF(INLU.EQ.0) GO TO 20
      ICCC = 10 
      CALL LUCHK(ILLU,INLU,IERCD,IARAY,ICCC)
C 
C   IF INLU POINTS TO EQT 0, COMPLETE IMMEDIATELY 
C 
      IF(IERCD.EQ.5) GO TO 30 
C 
C 
C 
20    IOP = IPARM(1)
      IF(IOP.EQ.053124B) GO TO 201
      IF(IOP.EQ.051526B) GO TO 202
      IF(IOP.EQ.044514B) GO TO 203
      IF(IOP.EQ.051114B) GO TO 204
      IF(IOP.EQ.044524B) GO TO 201
      IF(IOP.EQ.051124B) GO TO 206
      IF(IOP.EQ.041506B) GO TO 201
      IF(IOP.EQ.020040B) GO TO 9999 
      IF(IOP.EQ.042516B) GO TO 9999 
      IF(IOP.EQ.027505B) GO TO 9999 
      IF(IOP.EQ.042530B) GO TO 9999 
      IF(IOP.EQ.037477B) GO TO 212
      IF(IOP.EQ.053114B) GO TO 201
      IF(IOP.EQ.043520B) GO TO 214
      IF(IOP.EQ.052107B) GO TO 215
      IF(IOP.EQ.046116B) GO TO 216
      IF(IOP.EQ.047506B) GO TO 208
C 
C   TXTD1 - : 
21    WRITE(ILU,219)IARAY 
      READ(ILU,22)IPARM(1)
22    FORMAT(A2)
      GO TO 20
C 
C  VT,IL,RL,CF,VL,RT,IT 
C      SEGMENT TXTD2
201   CALL EXEC(8,INAM1,IPARM(1),0) 
C 
C  SV 
C      SEGMENT IMPTM
202   CALL EXEC(8,INAM3,1)
C 
C  IL 
203   CALL UPMPL(ILU,INLU,ILLU,IARAY) 
      GO TO 21
C 
C  RL 
204   CALL DNMPL(ILU,ILLU,IARAY)
      GO TO 21
C 
C  RT 
206   CALL DNMPT(ILU,ILLU,-1,IARAY) 
      GO TO 21
C 
C  OF 
208   CALL OFFLN(ILU,INLU,ILLU,IARAY) 
      GO TO 21
C 
C  ?? 
212   WRITE(ILLU,231) 
      GO TO 21
C  GP  SEGMENT IWRZZ
214   CALL EXEC(8,INAM2,3)
C 
C  TG  SEGMENT IWRZZ
215   CALL EXEC(8,INAM2,5)
C 
C  LN 
C     CHECK FOR ACTIVE LINE LU
216   IF(INLU.EQ.0) 2161,2162 
C 
C      ASK FOR AN ACTIVE LINE LU
2161  CALL IMSG7(ILU,INLU,IARAY,1,11) 
      IF(INLU.EQ.0) 21,2162 
2162  ICCC = 11 
      CALL LUCHK(ILLU,INLU,IERCD,IARAY,ICCC)
C 
C      ACTIVE LINE LU, NO TRMLS ASSIGNED ?
      IF(IERCD.EQ.7) GO TO 2164 
C 
C      OR, ACTIVE LINE LU, TRMLS ASSIGNED ? 
      IF(IERCD.EQ.9) GO TO 2164 
      INLU = 0
      GO TO 2161
C 
C      SHOW LINE BY LINKED LIST ORDER.
2164  CALL ILINE(INLU,ILLU,INUM,LINE,IARAY) 
      GO TO 21
C 
C 
C 
219   FORMAT(/2X3A2,"- :_") 
231   FORMAT(/10X"VL   VERIFY MULTIPOINT LINE THEN END",
     +/10X"VT   VERIFY TERMINAL", 
     +/10X"SV   MULTIPOINT SURVEY MESSAGE", 
     +/10X"OF   OFF-LINE TERMINALS",
     +/10X"IL   INITIALIZE A LINE", 
     +/10X"RL   REMOVE A LINE", 
     +/10X"IT   INITIALIZE A TERMINAL", 
     +/10X"RT   REMOVE A TERMINAL", 
     +/10X"CF   CONFIGURE A TERMINAL",
     +/10X"GP   WHO ARE YOU", 
     +/10X"TG   WHO ARE YOU ON CURRENT TERMINAL'S GROUP", 
     +/10X"LN   MULTIPOINT LINE ASSIGNMENT",
     +/10X"EN   END", 
     +/10X"/E   END", 
     +/10X"EX   END", 
     +/10X"SP-SP END",
     +/)
C 
C 
C   TXTD1 - LU MM NOT ASSIGNED, NOT TESTED
C 
30    ICCC = 11 
      CALL LUCHK(ILLU,INLU,IERCD,IARAY,ICCC)
9999  CONTINUE
C 
C  TXTD1 - DONE 
      CALL IMSG6(ILLU,0,0,0,IARAY,3,11) 
      END 
      END$
                                                                                            