(FILECREATED "12-May-86 22:07:15" ("compiled on " {ROSEBOWL}LISP>NCCLIENT.;22) "12-Nov-85 14:59:23" recompiled changes: NCCLIENT.LOCALLISTNOTEFILES NCCLIENT.LOCALCREATENOTEFILE NCCLIENT.LOCALDELETENOTEFILE NCCLIENT.LOCALSUBSCRIBETONOTEFILE NCCLIENT.LOCALCANCELNOTEFILESUBSCRIPTION NCCLIENT.LOCALLISTUIDS NCCLIENT.LOCALLISTCLIENTS NCCLIENT.LOCALCREATECARD NCCLIENT.LOCALDELETECARD NCCLIENT.LOCALGETCARDPART NCCLIENT.LOCALOBTAINWRITELOCK NCCLIENT.LOCALPUTCARDPART NCCLIENT.LOCALRELEASEWRITELOCK NCCLIENT.LOCALCANCELCARDPARTSUBSCRIPTION in "INTERLISP-D 7-Feb-86 ..." dated " 7-Feb-86 11:43:05") (FILECREATED "12-May-86 22:06:35" {ROSEBOWL}LISP>NCCLIENT.;22 32309 changes to: (VARS NCCLIENTCOMS) (RECORDS NSADDRESS) (FNS NCSERVER.LOCALLISTNOTEFILES NCSERVER.LOCALCREATENOTEFILE NCSERVER.LOCALDELETENOTEFILE NCSERVER.LOCALSUBSCRIBETONOTEFILE NCSERVER.LOCALCANCELNOTEFILESUBSCRIPTION NCSERVER.LOCALLISTUIDS NCSERVER.LOCALLISTCLIENTS NCSERVER.LOCALCREATECARD NCSERVER.LOCALDELETECARD NCSERVER.LOCALGETCARDPART NCSERVER.LOCALOBTAINWRITELOCK NCSERVER.LOCALPUTCARDPART NCSERVER.LOCALRELEASEWRITELOCK NCSERVER.LOCALCANCELCARDPARTSUBSCRIPTION NCCLIENT.LOCALLISTNOTEFILES NCCLIENT.LOCALCREATENOTEFILE NCCLIENT.LOCALDELETENOTEFILE NCCLIENT.LOCALSUBSCRIBETONOTEFILE NCCLIENT.LOCALCANCELNOTEFILESUBSCRIPTION NCCLIENT.LOCALLISTUIDS NCCLIENT.LOCALLISTCLIENTS NCCLIENT.LOCALCREATECARD NCCLIENT.LOCALDELETECARD NCCLIENT.LOCALGETCARDPART NCCLIENT.LOCALOBTAINWRITELOCK NCCLIENT.LOCALPUTCARDPART NCCLIENT.LOCALRELEASEWRITELOCK NCCLIENT.LOCALCANCELCARDPARTSUBSCRIPTION) previous date: " 8-May-86 13:54:17" {ROSEBOWL}LISP>NCCLIENT.;21) NCCLIENT.FILELOADEDP D1 (L (0 FILENAME)) @gNIL (3 FILEDATES) () NCCLIENT.LISTNOTEFILES D1 (P 4 F P 3 UNPACKEDPATTERN I 0 NOTEFILEPATTERN) s0@g jgg@ Kg Kg'Kgg K  -dg@g i gL IHhZH&J(136Q PACK* 127Q NSNAME.TO.STRING 123Q CH.LOOKUP.OBJECT 120Q FILENAMEFIELD 77Q COURIER.EXPEDITED.CALL 73Q MKSTRING 67Q PACKFILENAME 62Q LISTPUT 41Q LISTPUT 27Q UNPACKFILENAME 14Q NCCLIENT.GETNSADDRESS 11Q FILENAMEFIELD) (132Q } 115Q HOST 111Q { 57Q * 54Q NAME 46Q NAME 36Q HOST 23Q ListNoteFiles 20Q NoteCardsServer 6 HOST) () NCCLIENT.CREATENOTEFILE D1 (I 0 NOTEFILENAME) 3g@g i g@g gg@ (60Q PACK* 55Q COURIER.CALL 52Q MKSTRING 47Q NCCLIENT.REMOVEHOST 35Q NCCLIENT.GETCOURIERSTREAM 32Q FILENAMEFIELD 20Q NSNAME.TO.STRING 14Q CH.LOOKUP.OBJECT 11Q FILENAMEFIELD) (43Q CreateNoteFile 40Q NoteCardsServer 27Q HOST 23Q } 6 HOST 2 {) () NCCLIENT.DELETENOTEFILE D1 (I 0 NOTEFILENAME) 3g@g i g@g gg@ (60Q PACK* 55Q COURIER.CALL 52Q MKSTRING 47Q NCCLIENT.REMOVEHOST 35Q NCCLIENT.GETCOURIERSTREAM 32Q FILENAMEFIELD 20Q NSNAME.TO.STRING 14Q CH.LOOKUP.OBJECT 11Q FILENAMEFIELD) (43Q DeleteNoteFile 40Q NoteCardsServer 27Q HOST 23Q } 6 HOST 2 {) () NCCLIENT.SUBSCRIBETONOTEFILE D1 (P 0 NOTEFILENAME I 0 FILENAMEorUID) 6@d` Hg gggH h` (63Q COURIER.CALL 51Q MKSTRING 46Q NCCLIENT.REMOVEHOST 31Q NCCLIENT.GETCOURIERSTREAM 26Q FILENAMEFIELD 12Q NC.NoteFileFromNoteFileUID) (57Q \MY.NSADDRESS 42Q FILENAME 37Q SubscribeToNoteFile 34Q NoteCardsServer 23Q HOST 5 UIDTYPE#) () NCCLIENT.CANCELNOTEFILESUBSCRIPTION D1 (P 0 REALFILENAME I 0 UIDorFILENAME) 6@d` Hg gggH h` (63Q COURIER.CALL 51Q MKSTRING 46Q NCCLIENT.REMOVEHOST 31Q NCCLIENT.GETCOURIERSTREAM 26Q FILENAMEFIELD 12Q NC.NoteFileFromNoteFileUID) (57Q \MY.NSADDRESS 42Q FILENAME 37Q CancelNoteFileSubscription 34Q NoteCardsServer 23Q HOST 5 UIDTYPE#) () NCCLIENT.LISTUIDS D1 (I 0 NOTEFILEUID) @ gg@ (15Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (11Q ListUIDs 6 NoteCardsServer) () NCCLIENT.LISTCLIENTS D1 (I 0 NOTEFILEUID) @ gg@ (15Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (11Q ListClients 6 NoteCardsServer) () NCCLIENT.CREATECARD D1 (I 0 NOTEFILEUID) @ gg@` (21Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (15Q \MY.NSADDRESS 11Q CreateCard 6 NoteCardsServer) () NCCLIENT.DELETECARD D1 (I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@A` (22Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (16Q \MY.NSADDRESS 11Q DeleteCard 6 NoteCardsServer) () NCCLIENT.GETCARDPART D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@AB`h (24Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (17Q \MY.NSADDRESS 11Q GetCardPart 6 NoteCardsServer) () NCCLIENT.OBTAINWRITELOCK D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@AB` (23Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (17Q \MY.NSADDRESS 11Q ObtainWriteLock 6 NoteCardsServer) () NCCLIENT.PUTCARDPARTA0001 D1 (I 0 BULK.SOURCE.STREAM F 0 SOURCESTREAM) P@ (4 COPYBYTES) NIL () NCCLIENT.PUTCARDPART D1 (I 3 SOURCESTREAM I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@ABg` (26Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (22Q \MY.NSADDRESS 17Q NCCLIENT.PUTCARDPARTA0001 11Q PutCardPart 6 NoteCardsServer) () NCCLIENT.RELEASEWRITELOCK D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@AB` (23Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (17Q \MY.NSADDRESS 11Q ReleaseWriteLock 6 NoteCardsServer) () NCCLIENT.CANCELCARDPARTSUBSCRIPTION D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ gg@AB` (23Q COURIER.CALL 3 NCCLIENT.GETCOURIERSTREAM) (17Q \MY.NSADDRESS 11Q CancelCardPartSubscription 6 NoteCardsServer) () NCCLIENT.LOCALLISTNOTEFILES D1 (P 3 File I 0 PATTERN) ,0@ dgK IHhZH&J(27Q PACK* 11Q NCSERVER.LISTNOTEFILES 6 NCSERVER.REMOVEHOST) (23Q {DSK}) () NCCLIENT.LOCALCREATENOTEFILE D1 (P 0 CREATEDNOTEFILENAME I 0 NOTEFILENAME) @ H gH (23Q PACK* 6 NCSERVER.CREATENOTEFILE 3 NCSERVER.REMOVEHOST) (17Q {DSK}) () NCCLIENT.LOCALDELETENOTEFILE D1 (P 0 DELFILERESULT I 0 NOTEFILENAME) @ H gH (23Q PACK* 6 NCSERVER.DELETENOTEFILE 3 NCSERVER.REMOVEHOST) (17Q {DSK}) () NCCLIENT.LOCALSUBSCRIBETONOTEFILE D1 (I 0 FILENAMEorUID) @`gg@hg (27Q NCSERVER.SUBSCRIBETONOTEFILE) (24Q SELF 15Q FILENAME 11Q NOTEFILEUID 4 UIDTYPE#) () NCCLIENT.LOCALCANCELNOTEFILESUBSCRIPTION D1 (I 0 NOTEFILEorUID) .@d`d` l@ o g (53Q NCSERVER.CANCELNOTEFILESUBSCRIPTION 45Q SHOULDNT 35Q NC.NoteFileFromFileName 22Q NC.NoteFileFromNoteFileUID) (50Q SELF 15Q UIDTYPE# 5 NoteFileTYPE#) ( 42Q "Need either a NoteFile, UID, or Filename for NOTEFILEorUID ") NCCLIENT.LOCALLISTUIDS D1 (I 0 NOTEFILEUID) @ (3 NCSERVER.LISTUIDS) NIL () NCCLIENT.LOCALLISTCLIENTS D1 (I 0 NOTEFILEUID) @ (3 NCSERVER.LISTCLIENTS) NIL () NCCLIENT.LOCALCREATECARD D1 (I 0 NOTEFILEUID) @g (6 NCSERVER.CREATECARD) (3 SELF) () NCCLIENT.LOCALDELETECARD D1 (I 1 NOTECARDUID I 0 NOTEFILEUID) @Ag (7 NCSERVER.DELETECARD) (4 SELF) () NCCLIENT.LOCALGETCARDPART D1 (I 3 BUCKETSTREAM I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ABgC (12Q NCSERVER.GETCARDPART) (5 SELF) () NCCLIENT.LOCALOBTAINWRITELOCK D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ABg (10Q NCSERVER.OBTAINWRITELOCK) (5 SELF) () NCCLIENT.LOCALPUTCARDPART D1 (I 3 BUCKETSTREAM I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ABCg io (24Q SHOULDNT 12Q NCSERVER.PUTCARDPART) (6 SELF) ( 21Q "Client probably needs to obtain a writelock on the card part.") NCCLIENT.LOCALRELEASEWRITELOCK D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ABg (10Q NCSERVER.RELEASEWRITELOCK) (5 SELF) () NCCLIENT.LOCALCANCELCARDPARTSUBSCRIPTION D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) @ABg (10Q NCSERVER.CANCELCARDPARTSUBSCRIPTION) (5 SELF) () NCCLIENT.REMOTEGETFN D1 (P 3 BULKDATASTREAM P 2 CORESTREAM I 3 BEFORE.AFTER I 2 CARDPART I 1 NOTECARD I 0 NOTEFILE) ?Cg8@gg HII@AB KJ K Jj J(73Q SETFILEPTR 66Q CLOSEF 62Q COPYBYTES 52Q NCCLIENT.GETCARDPART 23Q OPENSTREAM) (44Q CardObject 20Q BOTH 15Q {NODIRCORE} 12Q NoteFile 3 BEFORE) () NCCLIENT.REMOTEPUTFN D1 (P 2 LOCALSTREAM I 3 BEFORE.AFTER I 2 CARDPART I 1 NOTECARD I 0 NOTEFILE) HCdg@gg HIIg@Jj @ABJ o (105Q SHOULDNT 75Q NCCLIENT.PUTCARDPART 57Q SETFILEPTR 25Q OPENSTREAM) (66Q CardObject 41Q AFTER 22Q BOTH 17Q {NODIRCORE} 14Q NoteFile 4 BEFORE) ( 102Q "BEFORE.AFTER argument should be one of 'BEFORE or 'AFTER") NCCLIENT.CARDCREATED D1 (I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) oDoC @ABo (31Q COURIER.RETURN 17Q PROMPTPRINT 14Q CONCAT) NIL ( 26Q (T) 10Q " has been created for NoteFile with UID " 3 "Card with UID ") NCCLIENT.CARDDELETED D1 (I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) oDoC @ABo (31Q COURIER.RETURN 17Q PROMPTPRINT 14Q CONCAT) NIL ( 26Q (T) 10Q " has been deleted from NoteFile with UID " 3 "NoteCard with UID ") NCCLIENT.CARDPARTCHANGED D1 (I 5 CARDPART I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) `CDEh @ABo (26Q COURIER.RETURN 14Q QUEUE.ENQUEUE) (2 NCCLIENT.CHANGEQUEUE) ( 23Q (T)) NCCLIENT.WRITELOCKRELEASED D1 (I 5 CARDPART I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) "oEoDoC  @ABo (37Q COURIER.RETURN 25Q PROMPTPRINT 22Q CONCAT) NIL ( 34Q (T) 15Q " of NoteFile with UID " 10Q " of NoteCard with UID " 3 "Writelock released for CardPart ") NCCLIENT.WRITELOCKOBTAINED D1 (I 5 CARDPART I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) "oEoDoC  @ABo (37Q COURIER.RETURN 25Q PROMPTPRINT 22Q CONCAT) NIL ( 34Q (T) 15Q " in NoteFile " 10Q " of NoteCard " 3 "Writelock just obtained for CardPart ") NCCLIENT.LOCALCARDCREATED D1 (I 1 NOTECARDUID I 0 NOTEFILEUID) o@ oA (24Q PROMPTPRINT 21Q CONCAT 7 NC.NoteFileFromNoteFileUID) NIL ( 15Q ": " 3 "New card created for NoteFile ") NCCLIENT.LOCALCARDDELETED D1 (I 1 NOTECARDUID I 0 NOTEFILEUID) o@ oA (24Q PROMPTPRINT 21Q CONCAT 7 NC.NoteFileFromNoteFileUID) NIL ( 15Q ": " 3 "Card deleted for NoteFile ") NCCLIENT.LOCALCARDPARTCHANGED D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) `@ABh i(14Q QUEUE.ENQUEUE) (2 NCCLIENT.CHANGEQUEUE) () NCCLIENT.LOCALWRITELOCKOBTAINED D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) oBoAo@   (32Q PROMPTPRINT 27Q CONCAT 21Q NC.NoteFileFromNoteFileUID) NIL ( 15Q " in NoteFile " 10Q " of NoteCard " 3 "Writelock has just been obtained for card part ") NCCLIENT.LOCALWRITELOCKRELEASED D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) oBoAo@   (32Q PROMPTPRINT 27Q CONCAT 21Q NC.NoteFileFromNoteFileUID) NIL ( 15Q " in NoteFile " 10Q " of NoteCard " 3 "Writelock has just been released for card part ") NCCLIENT.PROCESSCHANGE D1 (I 2 CARDPART I 1 NOTECARDUID I 0 NOTEFILEUID) oBoAo@  (25Q PROMPTPRINT 22Q CONCAT) NIL ( 15Q " in NoteFile with UID " 10Q " has changed for NoteCard with UID " 3 "CardPart ") NCCLIENT.START.CLIENTLISTENER D1 NIL 7g`ddi3 g`hgghhgggi (64Q ADD.PROCESS) (57Q RESTARTABLE 54Q NoteCardsClient 51Q NAME 37Q NCCLIENT.PROCESSCHANGE 34Q QUOTE 26Q NCCLIENT.CHANGEQUEUE 23Q QUOTE 5 NCCLIENT.CHANGEQUEUE 2 \NCCLIENT.PROCESS) () \NCCLIENT.PROCESS D1 (I 1 FN I 0 QUEUE) @A@ (17Q APPLY 14Q QUEUE.DEQUEUE 2 BLOCK) NIL () NCCLIENT.GETCOURIERSTREAM D1 (I 0 HOSTorUID) @d`  (16Q NCCLIENT.COURIERSTREAMFROMHOST 12Q NCCLIENT.COURIERSTREAMFROMUID) (5 UIDTYPE#) () NCCLIENT.COURIERSTREAMFROMHOST D1 (P 1 STREAM P 0 REALHOST I 0 HOST) J@ i `Hd hdH'H'Y`Hd  I I(104Q SPPOUTPUTSTREAM 76Q OPENP 72Q LISTPUT 67Q COURIER.OPEN 64Q NCCLIENT.GETNSADDRESS 35Q COURIER.OPEN 32Q NCCLIENT.GETNSADDRESS 15Q U-CASE 12Q MKATOM 7 NSNAME.TO.STRING 3 CH.LOOKUP.OBJECT) (57Q NCCLIENT.SERVERSTREAMS 43Q NCCLIENT.SERVERSTREAMS 23Q NCCLIENT.SERVERSTREAMS) () NCCLIENT.COURIERSTREAMFROMUID D1 (P 1 STREAM P 0 NoteFile I 0 UID) 7@ H o g YHgHg  I(61Q SPPOUTPUTSTREAM 55Q NCNOTEFILEPROP.NoteFilePutProp 52Q NCCLIENT.COURIERSTREAMFROMHOST 47Q FILENAMEFIELD 27Q NCNOTEFILEPROP.NoteFileGetProp 20Q ERROR 3 NC.NoteFileFromNoteFileUID) (44Q HOST 36Q COURIERSTREAM 24Q COURIERSTREAM) ( 15Q "Don't know how to find Courier Stream given a UID not in the NC.NoteFilesHashArray") NCCLIENT.GETNOTEFILEHOST D1 (L (0 NOTEFILEUID)) gNIL (2 GNUDNIK:VISTA) () NCCLIENT.GETNSADDRESS D1 (I 0 HOST) @ `H dj(15Q NCREATE2 3 LOOKUP.NS.SERVER) (11Q NSADDRESSTYPE#) () NCCLIENT.PARTCHANGEDNOTIFICATION D1 (I 5 CARDPART I 4 NOTECARDUID I 3 NOTEFILEUID I 2 PROCEDURE I 1 PROGRAM I 0 COURIERSTREAM) @Agoh (15Q COURIER.ABORT) (4 ServiceNotImplemented) ( 10Q "PartChangedNotification") NCCLIENT.REMOVEHOST D1 (P 0 UNPACKEDFILENAME I 0 FILENAME) @ Hg H (21Q PACKFILENAME 15Q LISTPUT 3 UNPACKFILENAME) (12Q HOST) () (PRETTYCOMPRINT NCCLIENTCOMS) (RPAQQ NCCLIENTCOMS ((FNS NCCLIENT.FILELOADEDP) (FILES (SOURCE) NCCLIENTLISTENER) (* Only need the Server CALLER Courier program if the LISTENER isn't already loaded.) (P (OR (NCCLIENT.FILELOADEDP ( QUOTE NCSERVERLISTENER)) (FILESLOAD (SOURCE) NCSERVERCALLER))) (* * Functions to call the Courier procedures directly.) (FNS NCCLIENT.LISTNOTEFILES NCCLIENT.CREATENOTEFILE NCCLIENT.DELETENOTEFILE NCCLIENT.SUBSCRIBETONOTEFILE NCCLIENT.CANCELNOTEFILESUBSCRIPTION NCCLIENT.LISTUIDS NCCLIENT.LISTCLIENTS NCCLIENT.CREATECARD NCCLIENT.DELETECARD NCCLIENT.GETCARDPART NCCLIENT.OBTAINWRITELOCK NCCLIENT.PUTCARDPART NCCLIENT.RELEASEWRITELOCK NCCLIENT.CANCELCARDPARTSUBSCRIPTION) (* * Functions for calling server routines when the server machine is the same as the client machine.) (FNS NCCLIENT.LOCALLISTNOTEFILES NCCLIENT.LOCALCREATENOTEFILE NCCLIENT.LOCALDELETENOTEFILE NCCLIENT.LOCALSUBSCRIBETONOTEFILE NCCLIENT.LOCALCANCELNOTEFILESUBSCRIPTION NCCLIENT.LOCALLISTUIDS NCCLIENT.LOCALLISTCLIENTS NCCLIENT.LOCALCREATECARD NCCLIENT.LOCALDELETECARD NCCLIENT.LOCALGETCARDPART NCCLIENT.LOCALOBTAINWRITELOCK NCCLIENT.LOCALPUTCARDPART NCCLIENT.LOCALRELEASEWRITELOCK NCCLIENT.LOCALCANCELCARDPARTSUBSCRIPTION) (* * The GetCardPart and PutCardPart functions to be called with the BEFORE or AFTER litatom.) (FNS NCCLIENT.REMOTEGETFN NCCLIENT.REMOTEPUTFN) (* * These functions are the ones which field the calls to the Courier Server about notifications of changes to the NoteFile.) (FNS NCCLIENT.CARDCREATED NCCLIENT.CARDDELETED NCCLIENT.CARDPARTCHANGED NCCLIENT.WRITELOCKRELEASED NCCLIENT.WRITELOCKOBTAINED) (* * The local handlers of Client notifications. These are called by the Server notifier if the NoteFile happens to reside on the same machine.) (FNS NCCLIENT.LOCALCARDCREATED NCCLIENT.LOCALCARDDELETED NCCLIENT.LOCALCARDPARTCHANGED NCCLIENT.LOCALWRITELOCKOBTAINED NCCLIENT.LOCALWRITELOCKRELEASED) (* * The notification queue stuff.) ( FNS NCCLIENT.PROCESSCHANGE NCCLIENT.START.CLIENTLISTENER \NCCLIENT.PROCESS) (* * Miscellaneous functions.) (FNS NCCLIENT.GETCOURIERSTREAM NCCLIENT.COURIERSTREAMFROMHOST NCCLIENT.COURIERSTREAMFROMUID NCCLIENT.GETNOTEFILEHOST NCCLIENT.GETNSADDRESS NCCLIENT.PARTCHANGEDNOTIFICATION NCCLIENT.REMOVEHOST) (FILES NCNOTEFILEPROP QUEUE) (GLOBALVARS NCCLIENT.SERVERSTREAMS NCCLIENT.CHANGEQUEUE) (INITVARS (NCCLIENT.SERVERSTREAMS NIL) ( NCCLIENT.CHANGEQUEUE (QUEUE.CREATE))) (DECLARE: DONTCOPY (RECORDS NSADDRESS)) (P (COURIER.START.SERVER ) (NCCLIENT.START.CLIENTLISTENER)))) (FILESLOAD (SOURCE) NCCLIENTLISTENER) (OR (NCCLIENT.FILELOADEDP (QUOTE NCSERVERLISTENER)) (FILESLOAD (SOURCE) NCSERVERCALLER)) (FILESLOAD NCNOTEFILEPROP QUEUE) (RPAQ? NCCLIENT.SERVERSTREAMS NIL) (RPAQ? NCCLIENT.CHANGEQUEUE (QUEUE.CREATE)) (COURIER.START.SERVER) (NCCLIENT.START.CLIENTLISTENER) NIL