FTN4,Q,C
* 
*     DATE: MARCH 15, 1979
*     NAME: TXTD1 
*     SOURCE: 91711-18024 
*     RELOC:  91711-16024 
*     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 TXTD1 (3,89),91711-16024  REV 1926  790906
C     23.08.79
C 
C            TXTD1 IS AN ON-LINE FUNCTIONAL VERIFICATION OF THE 
C            3075A, 3076A, 3077A DATA CAPTURE TERMINALS.
C 
C            THIS PROGRAM USES THE SESSION XLUEX INSTRUCTION. 
C 
C            THIS PROGRAM REQUIRES THE MULTIPOINT SYSTEM HAVE 
C            HAVE NO PENDING READ REQUESTS ON ANY TERMINALS 
C            UNDER TEST.  IF THERE SHOULD BE A PENDING READ 
C            REQUEST THE PROGRAM WILL BE DELAYED, FINISHING 
C            AFTER A TIMEOUT.  IF NO TIMEOUT HAS BEEN ENTERED, THE
C            PROGRAM CANNOT COMPLETE ON ITS OWN.
C 
C            TO RUN THIS PROGRAM ENTER
C 
C            RU,TXTD1[,ILLU][,ILU][,IOP][,INLU][,ITLU]
C            WHERE: 
C 
C            ILU = CONSOLE LU 
C            IOP = OP CODE
C            ILLU = LIST LU 
C            INLU = LINE LU 
C            ITLU = TERMINAL LU 
C 
C     CALLS : LUCHK  DETERMINE MULTIPOINT (SYSTEMS) LU ASSIGNMENT,
C                    RETURN A COMPLETION CODE 
C             ILINE  SHOW THE LINKED LIST ORDER FO THE LINE LU = INLU 
C 
C     BUFFERS IBUFR,IBUFV,IGRUP,KOFLN ARE DECLARED IN COMMON HERE FOR 
C     USE BY SEGMENTS AND SUBROUTINES ELSEWHERE.
C     IARAY, ILU, AND ILLU ARE VARIABLES DEFINED HERE.  INLU, ITLU, 
C     ARE DEFINED HERE IF THE RUN PARAMETERS ARE NONZERO  OTHERWISE 
C     INTERACTIVE DATA ENTRY AS REQUIRED FROM THE OPERATOR REDEFINES
C     THOSE VARIABLES.  IXLU IS DEFINED ELSEWHERE AND POINTS TO AN LU 
C     WHICH CANNOT BE VERIFED BY THIS PROGRAM.
C 
C 
      COMMON IARAY(3),ILU(1),ILLU(1),INLU(1),ITLU(1),IXLU(1), 
     +IBUFR(128),IGRUP(30),KOFLN(30),IBUFV(60)
      DIMENSION  IPARM(5),IREG(2),ICWORD(2) 
      DIMENSION INAM1(3),INAM2(3),INAM3(3),INAM4(3) 
      EQUIVALENCE (IREG(1),IA,REG),(IREG(2),IB) 
      DATA INAM1/2HTX,2HTD,2H2 /
      DATA INAM2/2HTX,2HTD,2H3 /
      DATA INAM3/0,0,0/ 
      DATA INAM4/2HIM,2HPT,2HM /
      DATA ICWORD/0,400B/ 
C 
C 
C 
      CALL RMPAR(IPARM) 
      ILU = 1 
      ILLU = 1
      IOP = 0 
      IF(IPARM(2).GT.0) ILU=IPARM(2)
      IF(IPARM(1).GT.0) ILLU=IPARM(1) 
      CALL PNAME(IARAY) 
      CALL IMSG6(ILLU,0,0,0,IARAY,5,11) 
C   CHECK FOR OP CODE 
      IF(IPARM(3).GT.0) IOP = IPARM(3)
C 
C   LINE LU 
C 
15    IF(IPARM(4).GT.0) INLU = IPARM(4) 
C 
C   TERMINAL LU 
C 
16    IF(IPARM(5).GT.0) ITLU=IPARM(5) 
C 
C 
C   CHECK FOR ACTIVE LINE LU
C 
10    IF(IPARM(4).EQ.0) GO TO 18
C 
C   IF THERE IS AN OP CODE, VALIDATE INLU LATER 
C 
      IF(IPARM(3).NE.0) GO TO 23
C 
C   LINE LU HERE. NO OP CODE.  CHECK THE LINE LU
C 
11    ICCC = 11 
      CALL LUCHK(ILLU,INLU,IERCD,IARAY,ICCC)
C 
C   FOR INLU DOWN OR EQT DOWN, COMPLETE IMMEDIATELY 
C 
      IF(IERCD.EQ.1) GO TO 27 
      IF(IERCD.EQ.3) GO TO 27 
C 
C   FOR INLU SET TO EQT 0, COMPLETE IMMEDIATELY 
C 
      IF(IERCD.EQ.5) GO TO 27 
C 
C   IF INLU IS ACTIVE AND TRMLS ARE ASSIGNED, GO TO 12
C 
      IF(IERCD.EQ.7) GO TO 12 
C 
C   IF INLU IS ACTIVE AND TRMLS ARE NOT ASSIGNED, GO TO 12
C   OTHERWISE, INLU CANNOT BE USED.  USE INLU THAT SURVEY 
C   FINDS, GO TO 19.
C 
      IF(IERCD.NE.9) GO TO 19 
C 
C   SHOW THE LINKED LIST ORDER FOR LINE LU INLU 
C 
12    CALL ILINE(INLU,ILLU,INUM,LINE,IARAY) 
C 
C   IS THERE A TRML LU ?
      IF(IPARM(5).NE.0) GO TO 14
C 
C   NO TRML LU.  DO LINE VERIFY USING SPECIFIED INLU. 
C 
13    IOP = 053114B 
      CALL EXEC(8,INAM1,IOP,-1) 
C 
C   TRML LU HERE.  DO TRML VERIFY USING SPECIFIED INLU, ITLU. 
C 
14    IOP = 053124B 
      CALL EXEC(8,INAM1,IOP,-1) 
C 
C   IS THERE AN OP CODE ? 
C 
18    IF(IPARM(3).NE.0) GO TO 23
C 
C   NO OP CODE, NO LINE LU.  IS THERE TRML LU ? 
C 
19    INLU = 0
      IF(IPARM(5).NE.0) GO TO 25
C 
C   NO TRML LU.  SHOW MULTIPOINT SYSTEMS SURVEY MESSAGE THEN END
C 
21    IOP = 020040B 
      GO TO 28
C 
25    IOP = 053124B 
28    CALL EXEC(8,INAM4,IOP,-1) 
C 
C   SHOW MULTIPOINT SYSTEM SURVEY MESSAGE 
C   THEN VALIDATE OP CODE.
C 
23    CALL EXEC(8,INAM2,IOP)
C 
C   TXTD1 * CORRECTIVE ACTION NEEDED
C 
27    CALL IMSG6(ILLU,0,0,0,IARAY,9,11) 
C 
C   TXTD1 - DONE
C 
24    CALL EXEC(8,INAM1,020040B)
C 
C   THIS IS A DUMMY CALL TO A SUBROUTINE
C 
      CALL LUVFY(INLU,ILLU,ITLU,IGRUP,IOFLN,ID,KGID,KEY,IXLU,IARAY) 
9999  CONTINUE
      END 
      END$
                                                                                                                                          