1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-05 19:09:21 +00:00

Shutdown server.

This commit is contained in:
Lars Brinkhoff
2023-10-21 20:21:20 +02:00
parent 02cae72bb8
commit 3a9425fa3f
2 changed files with 68 additions and 0 deletions

4
build/mchn/TT/custom.tcl Normal file
View File

@@ -0,0 +1,4 @@
#Enable the remote shutdown service.
respond "*" ":midas /t device;chaos shutdo_sysnet;shutsr\r"
respond "end input with ^C" "ALLOW==3036\r\003"
expect ":KILL"

64
src/sysnet/shutsr.35 Normal file
View File

@@ -0,0 +1,64 @@
TITLE SHUTDOWN SERVER
;This Chaosnet node is allowed to shut down.
IFNDEF ALLOW,ALLOW==177001
A==1
P==17
CHI=0
CHO=1
.INSRT SYSTEM;CHSDEF
GO: .CLOSE 1,
.SUSET [.SJNAME,,['SHUTDN]]
;Open Chaosnet channel and listen for SHUTDN connections.
.CALL [SETZ ? 'CHAOSO ? MOVEI CHI ? MOVEI CHO ? SETZI 5]
.LOSE %LSSYS
.CALL [SETZ ? 'PKTIOT ? MOVEI CHO ? SETZI LSN]
.LOSE %LSSYS
;Wait for an RFC.
MOVEI A,60.*60.
.CALL [SETZ ? 'NETBLK ? MOVEI CHI ? MOVEI %CSLSN ? A ? SETZM A]
.LOSE %LSSYS
CAIE A,%CSRFC
.LOGOUT 1,
;Receive the RFC packet and send an ANS response.
.CALL [SETZ ? 'PKTIOT ? MOVEI CHI ? SETZI PACKET]
.LOSE %LSSYS
.CALL [SETZ ? 'PKTIOT ? MOVEI CHO ? SETZI ANS]
.LOSE %LSSYS
;Check the source address.
LDB A,[$CPKSA PACKET]
CAME A,[ALLOW]
.LOGOUT 1,
;Patch ITS to remove the lower bound on shutdown time.
MOVE A,[SQUOZE 0,ASHUTD]
.EVAL A,
.LOSE %LSSYS
ADDI A,3
HRLI A,[CAIA]
.SETLOC A,
MOVEI A,30.
.SLEEP A,
;Shut down quickly.
MOVEI A,30.
.SHUTDN A,
.LOSE %LSSYS
.LOGOUT 1,
LSN: .BYTE 8 ? %COLSN ? 0 ? 0 ? 8 ? .BYTE
LOC LSN+%CPKDT
.BYTE 8 ? "S ? "H ? "U ? "T ? "D ? "O ? "W ? "N ? .BYTE
ANS: .BYTE 8 ? %COANS ? .BYTE
PACKET: BLOCK %CPMXW
END GO