SUBROUTINE SETUP_INTERRUPT C C This subroutine is used to setup the interrupt character to C use. This is the character to escape to the Vaxnet command C prompt. All other character are passed to the remote system. C INCLUDE 'COM.INC/NOLIST' CHARACTER*(*) INTERRUPTQ CHARACTER*10 DUMMY PARAMETER (INTERRUPTQ = 1 'Enter the Vaxnet interrupt character (CTRL/A): ') PARAMETER DEFAULT_CHAR = 1 ! Default character = CTRL/A IF (STARTUP) THEN IF (GET_SYMBOL('INTERRUPT_CHAR',DUMMY,DUMMY_SIZE)) THEN IF (DUMMY_SIZE .EQ. 0) THEN INTERRUPT_CHAR(1) = DEFAULT_CHAR RETURN ENDIF INTERRUPT_CHAR(1) = ICHAR(DUMMY(1:1)) IF (DUMMY_SIZE .GT. 1) THEN IF (DUMMY(1:1) .EQ. '^') THEN INTERRUPT_CHAR(1) = ICHAR(DUMMY(2:2))-64 ENDIF ENDIF RETURN ENDIF ENDIF BACKUP = .FALSE. ! Initialize backup flag. 100 CALL WRITE_USER(INTERRUPTQ) IF (BATCH_MODE) THEN READ (IN_UNIT,150,END=9900) INTERRUPT_CHAR 150 FORMAT (1A1) ELSE LOCAL_STATUS = SYS$QIOW(%VAL(LEFN_IN),%VAL(LCHAN_IN), 1 %VAL(IO$_TTYREADALL), 1 LIOSB,,,INTERRUPT_CHAR,%VAL(1),,NOTERM,,) CALL CHECK_STATUS('SETUP_INTERRUPT',LOCAL_STATUS) ENDIF CALL WRITE_USER(SS) IF (INTERRUPT_CHAR(1) .EQ. ESCAPE .OR. 1 INTERRUPT_CHAR(1) .EQ. '?') THEN ! Print help. CALL GET_HELP('INTERRUPT') CALL WRITE_USER(SS) GO TO 100 ELSEIF (INTERRUPT_CHAR(1) .EQ. CR) THEN ! Use default. INTERRUPT_CHAR(1) = DEFAULT_CHAR ELSEIF (INTERRUPT_CHAR(1) .EQ. 33) THEN ! Set backup flag. BACKUP = .TRUE. ENDIF RETURN 9900 CALL FINISH() ! Exit on end of file. END