mirror of
https://github.com/PDP-10/its.git
synced 2026-01-31 05:52:12 +00:00
Chaosnet ECHO server.
This commit is contained in:
77
src/sysnet/echo.5
Executable file
77
src/sysnet/echo.5
Executable file
@@ -0,0 +1,77 @@
|
||||
;-*-midas-*-
|
||||
title echo
|
||||
|
||||
t=10
|
||||
tt=11
|
||||
|
||||
chaich=0
|
||||
chaoch=1
|
||||
|
||||
.insrt system;chsdef
|
||||
|
||||
debug: 0
|
||||
chapkt: block %cpmxw
|
||||
|
||||
die: 0
|
||||
skipn debug
|
||||
.logout
|
||||
.value
|
||||
|
||||
rcvpkt: setz ? 'pktiot ? movei chaich ? setzi chapkt
|
||||
sndpkt: setz ? 'pktiot ? movei chaoch ? setzi chapkt
|
||||
|
||||
go: .close 1,
|
||||
.call [setz ? 'chaoso ? movei chaich ? movei chaoch ? setzi 5]
|
||||
.lose %lssys
|
||||
move t,[.byte 8 ? %colsn ? 0 ? 0 ? 4]
|
||||
movem t,chapkt
|
||||
move t,[.byte 8 ? "E ? "C ? "H ? "O]
|
||||
movem t,chapkt+%cpkdt
|
||||
.call sndpkt ;setup listen for connection
|
||||
.lose %lssys
|
||||
movei t,60.*60.
|
||||
skipe debug
|
||||
hrloi t,177777
|
||||
.call [setz ? 'netblk ? movei chaich ? movei %cslsn ? t ? setzm t]
|
||||
.lose %lssys
|
||||
caie t,%csrfc
|
||||
jsr die
|
||||
.call rcvpkt ;get the rfc
|
||||
.lose %lssys
|
||||
movei t,%coopn
|
||||
dpb t,[chapkt+$cpkop]
|
||||
.call sndpkt ;accept it
|
||||
.lose %lssys
|
||||
|
||||
skipe debug ;debugging?
|
||||
jrst loop ;yes, dont try to login then
|
||||
ldb t,[chapkt+$cpksa] ;get source host address
|
||||
move tt,[sixbit /000C00/] ;convert host number to sixbit
|
||||
dpb t,[220300,,tt]
|
||||
lsh t,-3
|
||||
dpb t,[300300,,tt]
|
||||
lsh t,-3
|
||||
dpb t,[360300,,tt]
|
||||
.suset [.ruind,,t] ;incoroporate user index also
|
||||
dpb t,[000300,,tt]
|
||||
lsh t,-3
|
||||
dpb t,[060300,,tt]
|
||||
move t,tt ;save copy for xuname
|
||||
.call [setz
|
||||
sixbit /LOGIN/
|
||||
tt ? [sixbit /CHAOS/] ? setz t]
|
||||
aoja tt,.-1 ;error, perhaps need to try other uname
|
||||
.suset [.sjname,,[sixbit /ECHO/]]
|
||||
.call [setz ? 'detach ? movei %jself ? andi 3 ]
|
||||
jsr die
|
||||
|
||||
loop: .call rcvpkt ;get a packet
|
||||
.lose %lssys
|
||||
ldb t,[chapkt+$cpkop]
|
||||
caige t,%codat ;is this data?
|
||||
jsr die ;no, we are done then
|
||||
.call sndpkt ;yes, send it right back
|
||||
.lose %lssys
|
||||
jrst loop
|
||||
|
||||
end go
|
||||
Reference in New Issue
Block a user