C C+ C C ASTTST.FTN -- TEST FORTRAN COMPLETION ROUTINE LINKAGE C TO THE UNSOLICITED CHARACTER AST QIO C PROVIDED BY TTYATA.MAC. C C- C C... I/O STATUS BLOCK INTEGER*2 IOSB(2) C... UNSOLICITED INPUT CHARACTER LOGICAL*1 CHAR C... FORTRAN AST COMPLETION ROUTINE EXTERNAL SUBR C COMMON /FLAG/ IOFLAG, CHAR C C... ATTACH TI: WITH IO.ATA CALL TTYATA(5,SUBR,IOSB,IERR) IF (IERR .NE. 0) STOP 'DSW ERROR' IF (IOSB(1) .NE. 1) STOP 'IOSB ERROR' C C... FIVE TIMES IS ENOUGH FOR TEST J = 5 C C... RESET "GOT ONE" FLAG 1000 IOFLAG = 0 C C... WAIT A COUPLE SECONDS FOR THE AST CALL MARK(1,2,2) CALL WAITFR(1) C C... SEE IF WE GOT ONE C C... NOPE, TELL THE USER IF (IOFLAG .EQ. 0) TYPE 501 501 FORMAT (' NO') C... YES, PRINT IT FOR THE USER IF (IOFLAG .NE. 0) TYPE 502, CHAR 502 FORMAT (' YES: "', 1A1, '"') C C... GO DO IT AGAIN J = J - 1 IF (J .GT. 0) GOTO 1000 C STOP END SUBROUTINE SUBR (CHAR,MASK) C C+ C C SUBR -- FORTRAN UNSOLICITED INPUT CHARACTER AST C COMPLETION ROUTINE. C C- C C... PASSED CHARACTER AND COMMON CHARACTER LOGICAL*1 CHAR, KHAR C COMMON /FLAG/ IOFLAG, KHAR C C... TELL THE USER WE GOT ONE IOFLAG = 1 C... PUT IT IN THE COMMON KHAR = CHAR C C... DISMISS THE AST RETURN C END