perm filename ECHSER.MID[S,NET]1 blob sn#385335 filedate 1978-09-30 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[NET,MRC]

END ECHSER