(FILECREATED "26-Mar-86 17:29:04" {ERIS}<LISPCORE>LIBRARY>TCPCHATSERVER.;2 3226 changes to: (VARS TCPCHATSERVERCOMS) (FNS TCP.CHAT.LISTENER TCPCHATSERVER) previous date: "26-Mar-86 17:24:51" {ERIS}<LISPCORE>LIBRARY>TCPCHATSERVER.;1) (* Copyright (c) 1986 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT TCPCHATSERVERCOMS) (RPAQQ TCPCHATSERVERCOMS ((FNS TCP.CHAT.LISTENER TCPCHATSERVER) (FILES (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) TCP))) (DEFINEQ (TCP.CHAT.LISTENER (LAMBDA (PORT) (* ejs: "26-Mar-86 17:21") (while T do (LET*((INSTREAM (TCP.OPEN NIL NIL (OR PORT \TCP.TELNET.PORT) (QUOTE PASSIVE) (QUOTE INPUT) T)) (OUTSTREAM (AND INSTREAM (TCP.OTHER.STREAM INSTREAM)))) (* Uncomment the following, and remove the body of this function from the loop to support multiple connections) (* (ADD.PROCESS (LIST (FUNCTION TCP.CHAT.LISTENER) (KWOTE PORT)) (QUOTE RESTARTABLE) (QUOTE HARDRESET))) (replace ENDOFSTREAMOP of INSTREAM with (FUNCTION \CHATSERVER.ENDOFSTREAMOP)) (STREAMPROP INSTREAM (QUOTE AFTERCLOSE) (FUNCTION CHATSERVERWHENCLOSEDFN)) (LINELENGTH 80 OUTSTREAM) (PAGEHEIGHT 24 OUTSTREAM) (RESETLST (RESETSAVE NIL (LIST (FUNCTION CLOSEF?) INSTREAM)) (CHATSERVEROPENFN INSTREAM OUTSTREAM)))))) (TCPCHATSERVER (LAMBDA NIL (* ejs: "26-Mar-86 16:47") (DEL.PROCESS (QUOTE TCP.CHAT.LISTENER)) (ADD.PROCESS (QUOTE (TCP.CHAT.LISTENER)) (QUOTE RESTARTABLE) (QUOTE HARDRESET)))) ) (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) TCP) (PUTPROPS TCPCHATSERVER COPYRIGHT ("Xerox Corporation" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL (566 3075 (TCP.CHAT.LISTENER 576 . 2717) (TCPCHATSERVER 2719 . 3073))))) STOP