SUBROUTINE SETUP_SYSTEM (STYPE) C C This routine sets up the system type. C INCLUDE 'COM.INC/NOLIST' CHARACTER*(*) TYPEQ, SYSTEM_DEFAULT, STYPE PARAMETER CTRLQ = 17 PARAMETER (TYPEQ = 1 'Enter the system type of the remote (') PARAMETER (SYSTEM_DEFAULT = 'DEC') C C Get the system type of remote. C IF (STARTUP) THEN STATUS = GET_SYMBOL('SYSTEM_TYPE',SYSTEM_TYPE,SYSTEM_SIZE) ENDIF IF (SYSTEM_SIZE .EQ. 0) THEN SYSTEM_TYPE = SYSTEM_DEFAULT ! Set the default system type. SYSTEM_SIZE = LEN(SYSTEM_DEFAULT) ! and the system type size. ENDIF IF (STARTUP) THEN IF (STATUS) GO TO 130 ! Go parse the system type. ELSE IF (LEN(STYPE) .GT. 0) THEN SYSTEM_TYPE = STYPE ! Copy specified system type. SYSTEM_SIZE = LEN(STYPE) ! and the system type size. GO TO 130 ! Go parse the system type. ENDIF ENDIF C C Prompt user for the system type. C 100 CALL PROMPT_USER(TYPEQ//SYSTEM_TYPE(1:SYSTEM_SIZE)//'): ' 1 ,%REF(SCRATCH),LEN(SYSTEM_TYPE)) IF (BACKUP) RETURN IF (WANTS_HELP) THEN 125 CALL GET_HELP ('SET SYSTEM') GOTO 100 ENDIF C C If a system type was specified, copy it to the SYSTEM_TYPE buffer. C IF (LBYTE_COUNT .GT. 0) THEN SYSTEM_TYPE = SCRATCH(1:LBYTE_COUNT) SYSTEM_SIZE = LBYTE_COUNT ENDIF 130 CROSS_FILE = .FALSE. ! Presume not cross file system. C C Setup the default read terminator to carriage return C CALL SET_TERMINATOR(TERMPTR,TERMTBL,%REF(CR)) C C The XON_XOFF flag controls whether the remote system supports the C XOFF/XON protocol to stop/resume output to the terminal. C C The LOCAL_ECHO flag controls whether Vaxnet must echo the local C terminal input since the remote doesn't echo. C IF (SYSTEM_TYPE(1:5) .EQ. 'APPLE') THEN ! Apple. XON_XOFF = .TRUE. ! ??? LOCAL_ECHO = .FALSE. ELSEIF (SYSTEM_TYPE(1:3) .EQ. 'AS6') THEN ! AS6 XON_XOFF = .FALSE. ! No XON/XOFF control. LOCAL_ECHO = .TRUE. ! Enable local echo. CALL SETUP_PARITY ('EVEN') ! Set for EVEN parity. DUMP_DELAY = '00.50' ! Dump delay 1/2 second. DUMPD_SIZE = 5 ! Set size of dump delay. DUMP_TIMEOUT = 0 ! Disable dump timeout. ELSEIF (SYSTEM_TYPE(1:5) .EQ. 'CROSS') THEN ! Crossfile. XON_XOFF = .TRUE. ! ??? LOCAL_ECHO = .TRUE. CALL SET_TERMINATOR(TERMPTR,TERMTBL,%REF(CTRLQ)) CROSS_FILE = .TRUE. ELSEIF (SYSTEM_TYPE(1:4) .EQ. 'DATA') THEN ! Data I/O. XON_XOFF = .TRUE. LOCAL_ECHO = .TRUE. DUMP_TIMEOUT = 0 ELSEIF (SYSTEM_TYPE(1:3) .EQ. 'DEC') THEN ! Digital. XON_XOFF = .TRUE. LOCAL_ECHO = .FALSE. ELSEIF (SYSTEM_TYPE(1:4) .EQ. 'EASY') THEN ! Easylink. XON_XOFF = .TRUE. LOCAL_ECHO = .FALSE. ELSEIF (SYSTEM_TYPE(1:3) .EQ. 'IBM') THEN ! IBM. XON_XOFF = .FALSE. ! ??? LOCAL_ECHO = .TRUE. DUMP_TIMEOUT = 0 ELSEIF (SYSTEM_TYPE(1:4) .EQ. 'UNIX') THEN ! Unix. XON_XOFF = .TRUE. LOCAL_ECHO = .FALSE. ELSEIF (SYSTEM_TYPE(1:4) .EQ. 'XXDP') THEN ! XXDP. XON_XOFF = .TRUE. LOCAL_ECHO = .FALSE. ELSE CALL WRITE_USER ('*** Invalid SYSTEM type "'// 1 SYSTEM_TYPE(1:SYSTEM_SIZE)//'" ***'//SS) IF (UNIX_MODE) THEN GO TO 100 ! Request system type again. ELSE GO TO 125 ! Invalid, give some help. ENDIF ENDIF RETURN END