mirror of
https://github.com/PDP-10/its.git
synced 2026-03-09 12:30:45 +00:00
Update NETRFC demon.
The newer version has support for selecting between signaling Dynamic Modeling SYS;ATSIGN demons to handle ARPANET services, or for all others, start a DEVICE;LBSIGN server.
This commit is contained in:
@@ -186,8 +186,11 @@ expect ":KILL"
|
||||
respond "*" ":link sys;atsign chaos,sysbin;@chaos bin\r"
|
||||
|
||||
# ARPANET support
|
||||
respond "*" ":midas sys;atsign netrfc_sysen2; netrfc\r"
|
||||
expect ":KILL"
|
||||
if { ! [string equal "$mchn" "DM"] } {
|
||||
respond "*" ":midas sys;atsign netrfc_syseng; netrfc\r"
|
||||
respond "DEMONP=" "0\r"
|
||||
expect ":KILL"
|
||||
}
|
||||
|
||||
# CHA: and CHAOS: device
|
||||
respond "*" ":midas device;jobdev cha_dcp;chadev\r"
|
||||
|
||||
@@ -26,6 +26,13 @@ respond "(CR) FOR DEVICE LPT, nn FOR Tnn" "\r"
|
||||
respond "(CR) FOR .LPTR. DIRECTORY, OR TYPE NEW NAME" "\r"
|
||||
expect ":KILL"
|
||||
|
||||
# ARPANET support, Dynamic Modeling demon style
|
||||
if [string equal "$mchn" "DM"] {
|
||||
respond "*" ":midas sys;atsign netrfc_syseng; netrfc\r"
|
||||
respond "DEMONP=" "1\r"
|
||||
expect ":KILL"
|
||||
}
|
||||
|
||||
# Arpanet survey demon.
|
||||
respond "*" ":midas sys; atsign survey_survey; survey\r"
|
||||
expect ":KILL"
|
||||
|
||||
@@ -2805,7 +2805,6 @@ sysen2/@muddl.64 197802221502.09
|
||||
sysen2/mudinq.43 197811071801.15
|
||||
sysen2/munch.3 197708281425.05
|
||||
sysen2/name.558 198901051808.00
|
||||
sysen2/netrfc.3 197508190914.47
|
||||
sysen2/oinit.8 197705090819.08
|
||||
sysen2/os.93 197911111712.21
|
||||
sysen2/photo.57 198906221343.15
|
||||
@@ -2870,6 +2869,7 @@ syseng/msgs.47 197812140127.10
|
||||
syseng/mulseg.insert 197704091152.39
|
||||
syseng/muscom.50 197704090938.30
|
||||
syseng/musrun.15 197206060101.24
|
||||
syseng/netrfc.3 197509191712.00
|
||||
syseng/otj6.138 197301300851.40
|
||||
syseng/pft.149 198707021504.46
|
||||
syseng/pt.2 197504071642.07
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
TITLE NETRFC BOOTSTRAPPER
|
||||
.MLLIT==1
|
||||
A=1
|
||||
B=2
|
||||
Q=16
|
||||
|
||||
BEG: MOVE A,[SQUOZE 0,IMPBPQ]
|
||||
.EVAL A,
|
||||
JRST ENDQ
|
||||
MOVE Q,A
|
||||
NEXTQ: MOVSS Q
|
||||
HRRI Q,Q
|
||||
.GETLOC Q,
|
||||
JUMPL Q,ENDQ ;-1 IS END OF LIST
|
||||
MOVSI A,1(Q)
|
||||
HRRI A,A
|
||||
.GETLOC A, ;GET SLOT 1, LCL SOCK
|
||||
CAIL A,1000 ;SKIP IF SHOULD SIGNAL
|
||||
JRST NEXTQ ;JUMP TO TRY ANOTHER ONE
|
||||
DPB A,[000300,,LOGNAM] ;STASH IN 'RFC000
|
||||
LSH A,-3
|
||||
DPB A,[060300,,LOGNAM]
|
||||
LSH A,-3
|
||||
DPB A,[140300,,LOGNAM]
|
||||
.CALL [SETZ ? 'DEMSIG ? LOGNAM ? SETZ [-1]]
|
||||
JRST NORFC ;FAIL-LEAVE TRAIL
|
||||
JRST ENDQ
|
||||
|
||||
NORFC: MOVSI A,3(Q) ;SLOT 3, HOST CALLING
|
||||
HRRI A,A
|
||||
.GETLOC A,
|
||||
LSH A,-8 ;GET HOST #
|
||||
DPB A,[000300,,TRMNAM]
|
||||
LSH A,-3
|
||||
DPB A,[060300,,TRMNAM]
|
||||
LSH A,-3
|
||||
DPB A,[140300,,TRMNAM]
|
||||
.CALL [SETZ ? 'LOGIN_6 ? LOGNAM ? SETZ TRMNAM]
|
||||
JFCL ;DONT SVEAT IT
|
||||
ENDQ: .LOGOUT
|
||||
.VALUE
|
||||
|
||||
LOGNAM: 'RFC000
|
||||
TRMNAM: 'HST000
|
||||
|
||||
END BEG
|
||||
|
||||
100
src/syseng/netrfc.3
Executable file
100
src/syseng/netrfc.3
Executable file
@@ -0,0 +1,100 @@
|
||||
TITLE NETRFC BOOTSTRAPPER
|
||||
.MLLIT==1
|
||||
A=1
|
||||
B=2
|
||||
Q=16
|
||||
|
||||
DEFINE SETF TEXT,FLG
|
||||
IFDEF FLG,.STOP
|
||||
.TAG FOOBAR
|
||||
PRINTC "TEXT
|
||||
FLG="
|
||||
.TTYMAC FLAG
|
||||
IFSE FLAG,YES,FLG==1
|
||||
IFSE FLAG,NO,FLG==0
|
||||
IFSE FLAG,Y,FLG==1
|
||||
IFSE FLAG,N,FLG==0
|
||||
IFNDEF FLG,FLG==FLAG
|
||||
TERMIN
|
||||
IFNDEF FLG,.GO FOOBAR
|
||||
TERMIN
|
||||
|
||||
IF1 SETF Use Dynamod Daemons? ,DEMONP
|
||||
|
||||
|
||||
BEG: MOVE A,[SQUOZE 0,IMPBPQ]
|
||||
.EVAL A,
|
||||
JRST ENDQ
|
||||
IFE DEMONP, .SUSET [.SSNAME,,['DEVICE]] ;SYS ON DM, DEVICE ON ML/AI
|
||||
MOVE Q,A
|
||||
NEXTQ: MOVSS Q
|
||||
HRRI Q,Q
|
||||
.GETLOC Q,
|
||||
JUMPL Q,ENDQ ;-1 IS END OF LIST
|
||||
MOVSI A,1(Q)
|
||||
HRRI A,A
|
||||
.GETLOC A, ;GET SLOT 1, LCL SOCK
|
||||
CAIL A,1000 ;SKIP IF SHOULD SIGNAL
|
||||
JRST NEXTQ ;JUMP TO TRY ANOTHER ONE
|
||||
DPB A,[000300,,LOGNAM] ;STASH IN 'RFC000
|
||||
LSH A,-3
|
||||
DPB A,[060300,,LOGNAM]
|
||||
LSH A,-3
|
||||
DPB A,[140300,,LOGNAM]
|
||||
IFN DEMONP,{
|
||||
.CALL [SETZ ? 'DEMSIG ? LOGNAM ? SETZ [0]] ;start server as daemon
|
||||
JRST NORFC ;FAIL-LEAVE TRAIL
|
||||
JRST ENDQ ;NEVER KNOW - MIGHT BE MORE
|
||||
}
|
||||
|
||||
IFE DEMONP,{
|
||||
.OPEN 1, FILE ;SEE IF SERVER EXISTS
|
||||
JRST NEXTQ ;NO, COMPLETELY IGNORE
|
||||
MOVSI 17, BOOT ;YES LOAD IT OVER OURSELVES
|
||||
BLT 17, 17
|
||||
.SUSET [.SSNAME,,LOGNAM];SET SNAME FOR PEEK
|
||||
SETZM 20 ;PREPARE TO CLEAR CORE
|
||||
JRST 0
|
||||
|
||||
BOOT: OFFSET -.
|
||||
.CORE 1 ;FLUSH ALL BUT FIRST PAGE
|
||||
.VALUE
|
||||
BLT BLP,1777 ;CLEAR FIRST PAGE
|
||||
.CALL LOAD ;LOAD THE SERVER
|
||||
.VALUE ;WELL IT WAS THERE BEFORE!
|
||||
;.VALUE SINCE NETRFC WILL KEEP SEEING IT
|
||||
.IOT 1,0 ;GET START ADDRESS
|
||||
.CLOSE 1, ;CLOSE LOAD CHANNEL
|
||||
STRT:: JRST @0 ;START UP
|
||||
BLP:: 20,,21 ;CORE-CLEARING BLT POINTER
|
||||
LOAD:: SETZ
|
||||
SIXBIT/LOAD/
|
||||
MOVEI -1
|
||||
SETZI 1
|
||||
IFG .-20, .ERR BOOT SEQUENCE TOO BIG
|
||||
OFFSET 0
|
||||
}
|
||||
|
||||
IFN DEMONP,{ ;ON DM HANDLE RANDOM ONES
|
||||
NORFC: MOVSI A,3(Q) ;SLOT 3, HOST CALLING
|
||||
HRRI A,A
|
||||
.GETLOC A,
|
||||
LSH A,-8 ;GET HOST #
|
||||
DPB A,[000300,,TRMNAM]
|
||||
LSH A,-3
|
||||
DPB A,[060300,,TRMNAM]
|
||||
LSH A,-3
|
||||
DPB A,[140300,,TRMNAM]
|
||||
.CALL [SETZ ? 'LOGIN_6 ? LOGNAM ? SETZ TRMNAM]
|
||||
JFCL ;DONT SVEAT IT
|
||||
}
|
||||
ENDQ: .LOGOUT
|
||||
.VALUE
|
||||
|
||||
FILE: .UII,,'DSK
|
||||
'LBSIGN
|
||||
LOGNAM: 'RFC000
|
||||
TRMNAM: 'HST000
|
||||
|
||||
END BEG
|
||||
|
||||
Reference in New Issue
Block a user