C CLOAK.FTN C C PHASE 1 OF CLOAK AND DAGGER: EXTRACT FROM THE C SPY.DAT FILE ALL RECORDS FOR A PARTICULAR MONTH C C C SPYRC1 C LOGICAL*1 DATE(5) LOGICAL*1 YR,MO,DA,HR,MI EQUIVALENCE (YR,DATE(1)),(MO,DATE(2)),(DA,DATE(3)), 1 (HR,DATE(4)),(MI,DATE(5)) LOGICAL*1 NTASKS INTEGER SYSTCS(3) !# TICS FOR SYSTEM,USER,NULLTSK INTEGER TERMS !TERMINAL MASK WORD C C SPYRC2 C INTEGER SPYRC2(48) C C INTEGER MONTH,YEAR !MONTH AND YEAR REQUESTED LOGICAL FINAL,SUCCSS !FINAL REPORT, SUCCESSFUL RESUME LOGICAL*1 CHAR LOGICAL*1 OUTNAM(10) LOGICAL*1 MONTHS(3,12) C DATA SPYNAM /6RSPY / DATA MONTHS /1HJ,1HA,1HN, 1HF,1HE,1HB, 1HM,1HA,1HR, 1 1HA,1HP,1HR, 1HM,1HA,1HY, 1HJ,1HU,1HN, 2 1HJ,1HU,1HL, 1HA,1HU,1HG, 1HS,1HE,1HP, 3 1HO,1HC,1HT, 1HN,1HO,1HV, 1HD,1HE,1HC/ C C GET INPUT INFO AND SET UP FILES C SUCCSS = .FALSE. !ASSUME WE COULDN'T RESUME SPY CALL RESUME(SPYNAM,IDS) !RESUME SPY IF (IDS .EQ. 1) SUCCSS = .TRUE. C 1000 FORMAT ('$REPORT FOR WHICH MONTH(1-12)? ') 1001 FORMAT ('$WHICH YEAR? ') 1002 FORMAT (I4) 1003 FORMAT ('$FINAL REPORT FOR MONTH? ') 1004 FORMAT (A1) C 10 TYPE 1000 ACCEPT 1002,MONTH IF (MONTH .LT. 1 .OR. MONTH .GT. 12) GOTO 10 TYPE 1001 ACCEPT 1002,YEAR IF (YEAR .GT. 1900) YEAR = YEAR-1900 TYPE 1003 ACCEPT 1004,CHAR FINAL = .FALSE. IF (CHAR .EQ. 1HY) FINAL = .TRUE. C ENCODE (9,1005,OUTNAM)(MONTHS(I,MONTH),I=1,3),YEAR 1005 FORMAT (3A1,I2,4H.SPY) IF (OUTNAM(4) .EQ. "40) OUTNAM(4)="60 OUTNAME(10) = 0 TYPE 1006,OUTNAM 1006 FORMAT (' OUTPUT WILL BE ON FILE ',10A1) C OPEN (UNIT=1,NAME='[6,10]SPY.DAT',FORM='UNFORMATTED', 1 READONLY,TYPE='OLD') OPEN (UNIT=2,NAME=OUTNAM,TYPE='UNKNOWN',FORM='UNFORMATTED') IF (FINAL) OPEN (UNIT=3,NAME='[6,10]SPY.DAT',TYPE='NEW', 1 FORM='UNFORMATTED',ERR=78) C C READ RECS IN AND WRITE THEM OUT C 20 READ (1,END=80) DATE,NTASKS,SYSTCS,TERMS NWORDS = 3*NTASKS IF (NWORDS .GT. 0) READ(1)(SPYRC2(I),I=1,NWORDS) LUN = 2 IF (MONTH .EQ. MO .AND. YEAR .EQ. YR) GOTO 25 IF (.NOT. FINAL) GOTO 20 LUN = 3 25 WRITE (LUN) DATE,NTASKS,SYSTCS,TERMS IF (NWORDS .GT. 0) WRITE (LUN) (SPYRC2(J),J=1,NWORDS) GOTO 20 C 78 TYPE 7800 7800 FORMAT (' YOU ARE NOT PRIVILEGED FOR FINAL REPORT') 80 IF (SUCCSS) CALL REQUES(SPYNAM) END