perm filename TIMSER.MID[S,NET]1 blob sn#445567 filedate 1979-05-29 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	TIMSER QUIT TIME LSNBLK LSNSTS
C00004 ENDMK
C⊗;
;TIMSER QUIT TIME LSNBLK LSNSTS

TITLE TIMSER
SUBTTL Mark Crispin, SU-AI, May 1979

TIMSER:	JFCL
	RESET
	MOVE ['TIMSER]
	SETNAM
	MOVEI [DEBREAK ? JRST QUIT]
	MOVEM JOBAPR
	CLKINT 30.*60.			; set up death time
	INIT 17				; open in dump mode
	 'IMP,,				; device IMP:
	 0				; no buffers
	 JRST QUIT
	MTAPE [17 ? .BYTE 6 ?1?5?5?1?0?0]; set timeouts
	MTAPE LSNBLK
	MOVE LSNSTS			; check for MTAPE error
	TRNN 77
	 STATZ 763600
	  JRST QUIT
	TLC 300000			; for next instruction to win
	TLCE 300000			; legal socket state?
	 JRST QUIT
	STDTIM 1,			; PST date/time
	HLRZ 1				; date (not SETZ since it may still
	DAYCNT				;  be yesterday
	ADDI 55517			; days from 1/1/00 to 1/1/64
	IMULI 60.*60.*24.		; days → seconds
	ADDI 60.*60.*8.(1)		; add in seconds and GMT/PST offset
	DPB [044000,,TIME]
	HRROI TIME-1			; get ready to send a socket
	SETZ 1,				; stop code for dump mode
	OUTPUT
QUIT:	RESET
	EXIT				; and that's it

TIME:	BLOCK 1				; time now

LSNBLK:	1				; LISTEN
LSNSTS:	BLOCK 1				; returned status bits
	45				; local socket to listen to
	-1				; ≠ 0 → wait for connection
	32.				; byte size
	BLOCK 1				; foreign socket
	BLOCK 1				; foreign host

END TIMSER