perm filename ECHSER.MID[S,NET]2  blob 
sn#697640 filedate 1983-01-28 generic text, type C, neo UTF8
COMMENT ā   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	X PDL ECHSER ECHLUP SUICID ...LIT SVRRTS ERRTNS ERRHAN ERRINS
C00004 ENDMK
Cā;
;X PDL ECHSER ECHLUP SUICID ...LIT SVRRTS ERRTNS ERRHAN ERRINS
TITLE ECHSER
SUBTTL Definitions
; Mark Crispin, SU-AI, September 1978
; Assembly switches
IFNDEF SVRSKT,SVRSKT==7			; default listen socket
IFNDEF PDLLEN,PDLLEN==50		; stack length
; AC definitions.  0ā3 are used by NETWRK
X=4 ? A=5 ? B=6 ? P=17
PDL:	BLOCK PDLLEN			; stack
ECHSER:	JFCL
	RESET
	MOVE ['ECHSER]
	SETNAM
	MOVE P,[PDL(-PDLLEN)]
	MOVEI [DEBREAK ? JRST SUICID]
	MOVEM JOBAPR
	CLKINT 5.*60.*60.		; must die if around too long
	OUTSTR [ASCIZ/ECHSER started
/]
; Listen for a connection on our socket
	MOVEI SVRSKT
	MOVEM LSNSKT
	PUSHJ P,LISTEN
ECHLUP:	PUSHJ P,NETICW
	PUSHJ P,NETOCH			; send character to user
	PUSHJ P,NETSND
	JRST ECHLUP
SUICID:	RESET ? EXIT
...LIT:	CONSTANTS
; Wonderful network routines
SVRRTS==-1				; include server routines
ERRTNS==-1				; include error routines
ERRHAN==-1				; include automagic error handling
ERRINS==<JRST SUICID>			; error instruction
.INSRT NETWRK
END ECHSER