	SUBROUTINE SHOW_STATUS (FULL_STATUS)
C
C	This subroutine is used to display the various VAXNET parmeters.
C
	INCLUDE 'COM.INC/NOLIST'

	LOGICAL FULL_STATUS

	CALL WRITE_USER(SS//'VAXNET Status Report:'//DS)
	CALL SHOW_LOG_FILE()		! Show the log file.
	CALL SHOW_LOG_LOCAL()		! Show the local logging.
	CALL SHOW_REMOTE_PORT()		! Show the remote port.
	CALL SHOW_REMOTE_SPEED()	! Show the remote speed.
	CALL SHOW_REMOTE_PARITY()	! Show the remote parity.
	CALL SHOW_INTERRUPT()		! Show the interrupt character.
	CALL SHOW_BREAK()		! Show the break character.
	CALL SHOW_SYSTEM_TYPE()		! Show the system type.
	CALL SHOW_LOCAL_ECHO()		! Show the local echo.
	CALL SHOW_MODEM_TYPE()		! Show the modem type.
	CALL SHOW_MODEM_CHECK()		! Show the modem check.
	IF (AUTODIAL) THEN
	    CALL SHOW_AUTODIAL_LIMIT()	! Show the autodial limit.
	ENDIF
	CALL SHOW_PHONE_NUMBER()	! Show the phone number.
	CALL SHOW_DIALER()		! Show the dialer port/speed.
	IF (FULL_STATUS) THEN
	    CALL SHOW_PASTHRU()		! Show the pasthru flag.
	    CALL SHOW_PROTOCOL()	! Show the protocol.
	    CALL SHOW_FILE_TYPE()	! Show the file type.
	    CALL SHOW_RETRY_LIMIT()	! Show the retry limit.
	    CALL SHOW_IDLE_TIMEOUT()	! Show the idle timeout count.
	    CALL SHOW_TIMEOUT_COUNT()	! Show the read timeout count.
	    CALL SHOW_DATA_BITS()	! Show the number of bits.
	    CALL SHOW_DUMP_DELAY()	! Show the dump delay.
	    CALL SHOW_DUMP_ECHO()	! Show the dump echo status.
	    CALL SHOW_DUMP_TERM()	! Show the dump terminator.
	    CALL SHOW_DUMP_TIMEOUT()	! Show the dump timeout count.
	    CALL SHOW_WATCH()		! Show the watch file status.
	    CALL SHOW_DISPLAY()		! Show the display parmeters.
	    CALL SHOW_HANGUP()		! Show the modem hangup state.
	    CALL SHOW_PROGRAM_TIMEOUT()	! Show the program timeout count.
	    CALL SHOW_PROGRAM_START()	! Show the program start string.
	    CALL SHOW_PROGRAM_VERIFY()	! Show the program verify string.
	    CALL SHOW_READ_DELAY()	! Show the read delay string.
	    CALL SHOW_READ_TIMEOUT()	! Show the read timeout count.
	    CALL SHOW_WRITE_DELAY()	! Show the write delay string.
	    CALL SHOW_TYPEAHEAD_LIMIT()	! Show the typeahead limit.
	    CALL SHOW_REFORMAT()	! Show the reformat settings.
	    CALL SHOW_UNIX()		! Show the UNIX mode.
	    CALL SHOW_VERIFY()		! Show the verify mode.
	    CALL SHOW_XON()		! Show the XON/XOFF flag.
	    CALL SHOW_DEBUG()		! Show the debug mode.
C	    CALL SHOW_DEBUG_INFO()	! Show the debug information.
	    CALL WRITE_USER (SS)	! Single spacing.
	ENDIF
	RETURN
	END

	SUBROUTINE SHOW_ROUTINES
C
C	Show various VAXNET parameters.
C
	INCLUDE 'COM.INC/NOLIST'

	CHARACTER*(*) NONE_MSG
	PARAMETER (NONE_MSG = 'None'//SS)

	ENTRY SHOW_AUTHOR
C
C	Show the authors name.
C
	CALL WRITE_USER (SS//'  Robin T. Miller'//SS)
	CALL WRITE_USER ('  Northern Telecom, Inc.'//SS)
	CALL WRITE_USER ('  Network Support Systems Division'//SS)
	CALL WRITE_USER ('  54 Regional Drive'//SS)
	CALL WRITE_USER ('  Concord, New Hampshire 03301'//SS)
	CALL WRITE_USER ('  (603) 224-6511 ext. 2529'//DS)
	RETURN

	ENTRY SHOW_AUTODIAL_LIMIT
C
C	Display the autodial modem retry limit.
C
	CALL SYS$FAO ('Autodial limit:   !UL!/',
	1		SIZE, SCRATCH, %VAL(AUTODIAL_LIMIT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_BREAK
C
C	Display the break character (if enabled).
C
	IF (BREAK_IS_ENABLED) THEN
	    CALL FORMAT_CTRL (BREAK_CHAR, 1, SCRATCH, SIZE)
	    CALL WRITE_USER ('Break character:  '//SCRATCH(1:SIZE)//SS)
	ENDIF
	RETURN

	ENTRY SHOW_DEBUG
C
C	If debugging is enabled, output some more information.
C
	CALL WRITE_USER ('Debug mode:       ')
	CALL SHOW_STATE (DEBUG_MODE)
	RETURN

	ENTRY SHOW_DIALER
C
C	Display the Vadic dialer port and speed.
C
	IF (AUTODIAL_TYPE .EQ. VA3480) THEN
	    CALL WRITE_USER ('Dialer port:      '
	1		//DIALER_PORT(1:DIALER_SIZE)//SS)
	    CALL WRITE_USER ('Dialer speed:     '
	1		//DIALER_SPEED(1:DSPEED_SIZE)//SS)
	    CALL SYS$FAO ('Modem slot:       !UL!/',
	1		SIZE, SCRATCH, %VAL(MODEM_SLOT))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
	ENDIF
	RETURN

	ENTRY SHOW_DISPLAY
C
C	Show the display records flag.
C
	CALL WRITE_USER ('Display screen:   ')
	CALL SHOW_STATE (DISPLAY_SCREEN)
	IF (DISPLAY_SCREEN) THEN
	    CALL SYS$FAO ('Display record:   !UL!/',
	1		SIZE, SCRATCH, %VAL(DISPLAY_RECORD))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
	ENDIF
	RETURN

	ENTRY SHOW_DUMP_DELAY()
C
C	Show the dump delay count.
C
	CALL WRITE_USER ('Dump delay:       ')
	IF (DUMPD_SIZE .GT. 0) THEN
		CALL WRITE_USER (DUMP_DELAY(1:DUMPD_SIZE)//SS)
	ELSE
		CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_DUMP_ECHO
C
C	Show the dump echo flag.
C
	CALL WRITE_USER ('Dump echo:        ')
	CALL SHOW_STATE (DUMP_ECHO)
	RETURN

	ENTRY SHOW_DUMP_TERM()
C
C	Show the dump terminator string.
C
	CALL WRITE_USER ('Dump terminator:  ')
	IF (DUMPT_SIZE .GT. 0) THEN
	    CALL FORMAT_CTRL (%REF(DUMP_TERM), DUMPT_SIZE, SCRATCH, SIZE)
	    CALL WRITE_USER ('"'//SCRATCH(1:SIZE)//'"'//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_DUMP_TIMEOUT()
C
C	Show the dump timeout count.
C
	CALL SYS$FAO ('Dump timeout:     !UL!/',
	1		SIZE, SCRATCH, %VAL(DUMP_TIMEOUT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_FILE_TYPE
C
C	Show the current file type.
C
	CALL WRITE_USER ('File type:        ')
	IF (FILE_TYPE .EQ. ASCII) THEN
		CALL WRITE_USER ('ASCII'//SS)
	ELSEIF (FILE_TYPE .EQ. BINARY) THEN
		CALL WRITE_USER ('BINARY'//SS)
	ELSEIF (FILE_TYPE .EQ. BLOCK) THEN
		CALL WRITE_USER ('BLOCK'//SS)
	ELSE
		CALL WRITE_USER ('Unknown'//SS)
	ENDIF
	RETURN

	ENTRY SHOW_HANGUP
C
C	Display the modem hangup status.
C
	CALL WRITE_USER ('Modem hangup:     ')
	CALL SHOW_STATE (HANGUP)
	RETURN

	ENTRY SHOW_IDLE_TIMEOUT
C
C	Show the idle timeout count.
C
	CALL SYS$FAO ('Idle timeout:     !UL!/',
	1		SIZE, SCRATCH, %VAL(IDLE_TIMEOUT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_INTERRUPT
C
C	Display the interrupt character.
C
	CALL FORMAT_CTRL (INTERRUPT_CHAR, 1, SCRATCH, SIZE)
	CALL WRITE_USER ('Interrupt char:   '//SCRATCH(1:SIZE)//SS)
	RETURN

	ENTRY SHOW_LOG_FILE
C
C	First display the log file (if any).
C
	CALL WRITE_USER('Log file name:    ')
	IF (LOGFILE) THEN
		CALL WRITE_USER(LOG_FILE(1:LOGFILE_SIZE)//SS)
	ELSE
		CALL WRITE_USER(NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_LOG_LOCAL
C
C	Now display if local logging is enabled.
C
	IF (LOGFILE) THEN
		CALL WRITE_USER ('Local logging:    ')
		CALL SHOW_STATE (LOG_LOCAL)
	ENDIF
	RETURN

	ENTRY SHOW_LOCAL_ECHO
C
C	Display local echo flag if enabled.
C
	CALL WRITE_USER ('Local echo:       ')
	CALL SHOW_STATE (LOCAL_ECHO)
	RETURN

	ENTRY SHOW_MODEM_CHECK
C
C	If using autodial modem, display the modem type.
C
	IF (AUTODIAL) THEN
		CALL WRITE_USER('Modem check:      ')
		CALL SHOW_STATE (MODEM_CHECK)
	ENDIF
	RETURN

	ENTRY SHOW_MODEM_TYPE
C
C	If using autodial modem, display the modem type.
C
	IF (AUTODIAL) THEN
		CALL WRITE_USER('Modem type:       '
	1		//MODEM_TYPE(1:MODEM_SIZE)//SS)
	ENDIF
	RETURN

	ENTRY SHOW_PASTHRU
C
C	Display the status of the terminal PASTHRU flag.
C
	CALL WRITE_USER ('Pasthru mode:     ')
	CALL SHOW_STATE (PASTHRU_ENABLED)
	RETURN

	ENTRY SHOW_PHONE_NUMBER
C
C	Display the phone number (if any).
C
	IF (AUTODIAL) THEN
	    CALL WRITE_USER ('Phone number:     ')
	    IF (PHONE_SIZE .GT. 0) THEN
		CALL WRITE_USER (PHONE_NUMBER(1:PHONE_SIZE)//SS)
	    ELSE
		CALL WRITE_USER (NONE_MSG)
	    ENDIF
	ENDIF
	RETURN

	ENTRY SHOW_PROGRAM_START
C
C	Show the program start string.
C
	CALL WRITE_USER ('Program start:    ')
	IF (START_SIZE .GT. 0) THEN
	    CALL WRITE_USER ('"'//PROGRAM_START(1:START_SIZE)//'"'//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_PROGRAM_TIMEOUT
C
C	Display the program timeout count.
C
	CALL SYS$FAO ('Program timeout:  !UL!/',
	1		SIZE, SCRATCH, %VAL(PROGRAM_TIMEOUT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_PROGRAM_VERIFY
C
C	Show the program verify string.
C
	CALL WRITE_USER ('Program verify:   ')
	IF (VERIFY_SIZE .GT. 0) THEN
	    CALL FORMAT_CTRL (%REF(PROGRAM_VERIFY), VERIFY_SIZE, SCRATCH, SIZE)
	    CALL WRITE_USER ('"'//SCRATCH(1:SIZE)//'"'//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_PROTOCOL
C
C	Show the current protocol.
C
	CALL WRITE_USER ('Protocol type:    ')
	IF (PROTOCOL .EQ. KERMIT) THEN
		CALL WRITE_USER ('KERMIT'//SS)
	ELSEIF (PROTOCOL .EQ. VAXNET) THEN
		CALL WRITE_USER ('VAXNET'//SS)
	ELSEIF (PROTOCOL .EQ. XMODEM) THEN
		CALL WRITE_USER ('XMODEM'//SS)
	ELSE
		CALL WRITE_USER ('Unknown'//SS)
	ENDIF
	RETURN

	ENTRY SHOW_REMOTE_PORT
C
C	Display the remote port.
C
	CALL WRITE_USER ('Remote port:      ')
	IF (REMOTE_ASSIGNED) THEN
	    CALL WRITE_USER (REMOTE_DEVICE(1:REMOTE_SIZE)//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_REMOTE_SPEED
C
C	Display the remote baud rate.
C
	CALL WRITE_USER ('Remote speed:     ')
	IF (SPEED_SIZE .GT. 0) THEN
	    CALL WRITE_USER (REMOTE_BAUD(1:SPEED_SIZE)//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_REMOTE_PARITY
C
C	Display the remote parity (if any).
C
	IF (PARITY_SIZE .GT. 0) THEN
	    CALL WRITE_USER ('Remote parity:    '//
	1			PARITY_TYPE(1:PARITY_SIZE)//SS)
	ENDIF
	RETURN

	ENTRY SHOW_RETRY_LIMIT
C
C	Display the retry limit.
C
	CALL SYS$FAO ('Retry limit:      !UL!/',
	1		SIZE, SCRATCH, %VAL(RETRY_LIMIT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_SCRIPT_TIMEOUT
C
C	Display the script timeout count.
C
	CALL SYS$FAO ('Script timeout:   !UL!/',
	1		SIZE, SCRATCH, %VAL(SCRIPT_TIMEOUT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_SYSTEM_TYPE
C
C	Display the system type.
C
	CALL WRITE_USER ('System type:      ')
	IF (SYSTEM_SIZE .GT. 0) THEN
	    CALL WRITE_USER (SYSTEM_TYPE(1:SYSTEM_SIZE)//SS)
	ELSE
	    CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_TIMEOUT_COUNT
C
C	Display the remote read timeout count.
C
	CALL SYS$FAO ('Timeout count:    !UL!/',
	1		SIZE, SCRATCH, %VAL(TIMEOUT_COUNT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_DATA_BITS
C
C	Display number of data bits.
C
	CALL WRITE_USER ('Number of bits:   ')
	IF (EIGHT_BIT) THEN
		CALL WRITE_USER ('8'//SS)
	ELSE
		CALL WRITE_USER ('7'//SS)
	ENDIF
	RETURN

	ENTRY SHOW_READ_DELAY
C
C	Display the interactive read delay string.
C
	IF (.NOT. READ_WITH_TIMEOUT) THEN
	    CALL WRITE_USER ('Read delay:       ')
	    IF (RDELAY_SIZE .NE. 0) THEN
		CALL WRITE_USER (READ_DELAY(1:RDELAY_SIZE)//SS)
	    ELSE
		CALL WRITE_USER (NONE_MSG)
	    ENDIF
	ENDIF
	RETURN

	ENTRY SHOW_READ_TIMEOUT
C
C	Display the interactive read timeout count.
C
	IF (READ_WITH_TIMEOUT) THEN
	    CALL SYS$FAO ('Read timeout:     !UL!/',
	1		SIZE, SCRATCH, %VAL(READ_TIMEOUT))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
	ENDIF
	RETURN

	ENTRY SHOW_REFORMAT
C
C	Display the current reformat settings.
C
	CALL WRITE_USER ('Auto reformat:    ')
	CALL SHOW_STATE (AUTO_REF)
	IF (AUTO_REF) THEN
	    CALL WRITE_USER ('Reformat wait:    ')
	    CALL SHOW_STATE (REF_WAIT)
	ENDIF
	RETURN

	ENTRY SHOW_TYPEAHEAD_LIMIT
C
C	Display the local/remote typeahead limit.
C
	CALL SYS$FAO ('Typeahead limit:  !UL!/',
	1		SIZE, SCRATCH, %VAL(TYPEAHEAD_LIMIT))
	CALL WRITE_USER (SCRATCH(1:SIZE))
	RETURN

	ENTRY SHOW_UNIX
C
C	Display the UNIX mode.
C
	CALL WRITE_USER ('UNIX mode:        ')
	CALL SHOW_STATE (UNIX_MODE)
	RETURN

	ENTRY SHOW_VERIFY
C
C	Show the verify mode (controls command file display).
C
	CALL WRITE_USER ('Verify mode:      ')
	CALL SHOW_STATE (VERIFY_MODE)
	RETURN

	ENTRY SHOW_WATCH
C
C	Show the watch files flag.
C
	CALL WRITE_USER ('Watch files:      ')
	CALL SHOW_STATE (WATCH_FILES)
	RETURN

	ENTRY SHOW_WRITE_DELAY
C
C	Display the local write delay string.
C
	CALL WRITE_USER ('Write delay:      ')
	IF (WDELAY_SIZE .NE. 0) THEN
		CALL WRITE_USER (WRITE_DELAY(1:WDELAY_SIZE)//SS)
	ELSE
		CALL WRITE_USER (NONE_MSG)
	ENDIF
	RETURN

	ENTRY SHOW_XON
C
C	Display the XON/XOFF flag.
C
	CALL WRITE_USER ('XON/OFF flag:     ')
	CALL SHOW_STATE (XON_XOFF)
	RETURN
	END

	SUBROUTINE SHOW_MORE_ROUTINES
C
C	More routines to show VAXNET parameters.  Routines which call
C	other show routines should be placed in this module.
C
	INCLUDE 'COM.INC/NOLIST'

	ENTRY SHOW_DEBUG_INFO
C
C	First output the maximum local typeahead count.
C
	IF (DEBUG_MODE) THEN
	    CALL SYS$FAO ('Local count:      !UW!/',
	1		SIZE, SCRATCH, %VAL(LMAX_TYPEAHEAD))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
	    CALL SYS$FAO ('Local maximum:    !UW!/',
	1		SIZE, SCRATCH, %VAL(LOCAL_MAXIMUM))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
C
C	Now output the maximum remote typeahead count.
C
	    CALL SYS$FAO ('Remote count:     !UW!/',
	1		SIZE, SCRATCH, %VAL(MAX_TYPEAHEAD))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
	    CALL SYS$FAO ('Remote maximum:   !UW!/',
	1		SIZE, SCRATCH, %VAL(REMOTE_MAXIMUM))
	    CALL WRITE_USER (SCRATCH(1:SIZE))
C
C	Display the interactive read delay and timeout.
C
	    CALL SHOW_READ_DELAY()	! Show the read delay.
	    CALL SHOW_READ_TIMEOUT()	! Show the read timeout.
	    CALL SHOW_WRITE_DELAY()	! Show the write delay.
	    CALL SHOW_TYPEAHEAD_LIMIT()	! Show the typeahead limit.
	ENDIF
	RETURN
	END

	SUBROUTINE SHOW_STATE (STATE)
C
C	This routine is used to show the current state of a flag.
C
	LOGICAL STATE

	CHARACTER*(*) SS
	PARAMETER (SS = CHAR(13)//CHAR(10))	! Single spacing.

	IF (STATE) THEN
		CALL WRITE_USER('Enabled'//SS)
	ELSE
		CALL WRITE_USER('Disabled'//SS)
	ENDIF
	RETURN
	END
