.TITLE FINISH - RSXNET EXIT MODULE .IDENT /1.1/ .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided ; or otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: FINISH ; Author: Robin Miller ; Date: April 21, 1982 ; ; Description: ; ; This module is entered when exiting RSXNET. It closes the logfile, ; resets the terminal characteristics, detaches the terminals, and exits. ; ; Modification History: ; ; Version 1.1 November 1, 1982 by Gary Larsen ; Check for exit on bad initialization file name on startup. ; ;- .ENABL AMA .NLIST BEX .MCALL DIR$, EXIT$S ; ; Equates. ; BELL = 7 ; RING THE BELL LF = 10. ; LINE FEED CR = 13. ; CARRIAGE RETURN ; ; ASCII messages. ; .NLIST BEX EXIMSG: .ASCII .ASCIZ "*** RSXNET exiting to the system. ***" HNGMSG: .ASCII .ASCIZ "*** Don't forget to hangup the modem. ***" BINMSG: .ASCII .ASCIZ "*** The specified Initialization file cannot be opened ***" .EVEN ;+ ; ; EXIT - Do general cleanup and exit. ; ; This routine is entered when we are exiting to the system. The ; outstanding I/O is killed, the terminal characteristics are reset ; to their orginal setup, and the terminals are detached. ; ;- EXIT:: TST BADINI ; ARE WE EXITING BECAUSE A BAD INI FILE ; WAS SPECIFIED BEQ 5$ ; IF EQ, NO MOV #BINMSG,R4 ; ADDRESS OF HANGUP MESSAGE CALL WRITE ; GO TELL THE USER BR 40$ ; AND EXIT 5$: MOV #-1,EXFLG ; SHOW WE ARE EXITING CALL CANCEL ; CANCEL OUTSTANDING I/O CALL FLUSH ; FLUSH THE LOGFIL BUFFER CALL CLOLOG ; AND CLOSE THE LOGFILE TST LOCCHA ; LOCAL TERMINAL CHANGED ? BEQ 10$ ; IF EQ, NO DIR$ #RESLOC ; RESET LOCAL CHARACTERISTICS CALL CHKLIO ; CHECK FOR ERRORS 10$: TST REMCHA ; REMOTE TERMINAL CHANGED ? BEQ 20$ ; IF EQ, NO DIR$ #RESREM ; RESET REMOTE CHARACTERISTICS ; CALL CHKRIO ; CHECK FOR ERRORS ; If baud rate is 1200 or less, tell user to hangup the modem. 20$: CMPB RSPEED,#S.1200 ; IS THIS POSSIBLY A MODEM ? BGT 30$ ; IF GT, PRESUME NO MOV #HNGMSG,R4 ; ADDRESS OF HANGUP MESSAGE CALL WRITE ; GO TELL THE USER ; Write the exiting message, and detach the local terminal. 30$: MOV #EXIMSG,R4 ; ADDRESS OF EXIT MESSAGE CALL WRITE ; GO WRITE IT DIR$ #DETLOC ; DETACH THE LOCAL TERMINAL TSTB ATTFLG ; IS THE REMOTE ATTACHED ? BEQ 40$ ; IF EQ, NO DIR$ #DETREM ; DETACH THE REMOTE TTY 40$: EXIT$S ; AND EXIT .END