1HIGHER-LEVELNSPROTOCOLFUNCTIONSThefollowingisadescriptionoftheInterlisp-DfacilitiesforusingXeroxSPPandCourierprotocolsandtheservicesbasedonthem.Thesectionsonnamingconventions,Printing,andFilingareofgeneralinteresttousersofNetworkSystemsservers.TheremainingsectionsdescribeinterfacesofinteresttothosewhowishtoprogramotherapplicationsontopofeitherCourierorSPP.1.1NameandAddressConventionsAddressesofhostsintheNSworldconsistofthreeparts,anetworknumber,amachinenumber,andasocketnumber.ThesethreepartsareembodiedintheInterlisp-DdatatypeNSADDRESS.ObjectsoftypeNSADDRESSprintas"net#h1.h2.h3#socket",whereallthenumbersareprintedinoctalradix,andthe48-bithostnumberisbrokenintothree16-bitfields.MostfunctionsthatacceptanaddressargumentwillaccepteitheranNSADDRESSobjectorastringthatistheprintedrepresentationoftheaddress.Higher-levelfunctionsaccepthostargumentsintheformofasymbolicnameforthehost.TheNSworldhasahierarchicalnamespace.Eachobjectnameisinthreeparts:theOrganization,theDomain,andtheObjectparts.Therecanbemanydomainsinasingleorganization,andmanyobjectsinasingledomain.ThenamespaceismaintainedbytheClearinghouse,adistributednetworkdatabaseservice.AClearinghousenameisstandardlynotatedasobject:domain:organization.Thepartsorganizationordomain:organizationmaybeomittediftheyarethedefault(seebelow).Alphabeticcaseisnotsignificant.Internally,namesarerepresentedasobjectsofdatatypeNSNAME,butmostfunctionsacceptthetextualrepresentationaswell,eitherasalitatomorastring.ObjectsoftypeNSNAMEprintasobject:domain:organization,withfieldsomittedwhentheyareequaltothedefault.ADomainisstandardlyrepresentedasanNSNAMEinwhichtheobjectpartisnull.IffrequentuseistobemadeofanNSname,itisgenerallypreferabletoconvertittoanNSNAMEonce,bycallingPARSE.NSNAME,thenpassingtheresultantobjecttoallfunctionsdesiringit.CH.DEFAULT.ORGANIZATION[Variable]ThisisastringspecifyingthedefaultClearinghouseorganization.CH.DEFAULT.DOMAIN[Variable]ThisisastringspecifyingthedefaultClearinghousedomain.IfitorthevariableCH.DEFAULT.ORGANIZATIONisNIL,theyaresetbyLispsystemcode(whentheyareneeded)tobethefirstdomainservedbythenearestClearinghouseserver.Insmallorganizationswithjustonedomain,itisreasonabletojustleavethesevariablesNILandhavethesystemsetthemappropriately.Inorganizationswithmorethanonedomain,itiswisetosettheminthesiteinitializationfile,soasnottobedependentonexactlywhichClearinghouseserversareupatanytime.(PARSE.NSNAMENAME#PARTSDEFAULTDOMAIN)[Function]When#PARTSis3(orNIL),parsesNAME,alitatomorstring,intoitsthreeparts,returninganobjectoftypeNSNAME.Ifthedomainororganizationisomitted,defaultsaresupplied,eitherfromDEFAULTDOMAIN(anNSNAMEwhosedomainandorganizationfieldsonlyareused)orfromthevariablesCH.DEFAULT.DOMAINandCH.DEFAULT.ORGANIZATION.If#PARTSis2,NAMEisinterpretedasadomainname,andanNSNAMEwithnullobjectisreturned.Inthiscase,ifNAMEisafull3-partname,theobjectpartisstrippedoff.���������������� êq?€`½�î��ï��pÿ������������� êq?€`½�î��ï��î êïg_pî ôïb;qî úïb;î ôï\u�î üîTîwî’îØî%;î-±ï\urï\uî-·ï\uî ôïYpîî{î¹�î¶ î“îîO î&- î+\î-kî0åî4Øî7˜î:!î?îDÃîGLîI}îI}ïYpî ôïWíîÎî€îXî îaî îùî!Ñî&•î.Nî3Áî6Jî:$î<Jî=ÕîBxîG&îH¦îH¦ïWíî ôïVjî CîÎîPîbîîsî!î'kî,Zî1Œ î7„î9î=½î?=îB¬îEîH‚îJîJïVjî ôïTçîRîÁî!îùî?îÊî#†î(jî*�î,¿ïTçqïTçî,ÅïTçî ôïO!îî\îwîHîºî© î!åïO!rïO!î!ëïO!î ôïLî9îÄîî’îÃîî¾î#î$“î'íî+~�î,{î1¡î6õ�î7òî=EîB™îE"�îFîJîJïLî ôïJ™îGîŸîqîËîî*î"cî#ãî& î,òî2Qî2QïJ™sïJ™î9àïJ™rïJ™�î:î:çî?ªîA5îDîDïJ™î ôïI sîƒïI rïI îÛîî”î%òî)Ûî+œî-Íî3Mî5sî:î;–î>·îBhîDñîG"îG"ïI î ôïGî »î…îî¿î@îèî!Bî% î(äî)<î,•î2`î4ÿî9 î:Ìî?†îEîGúîGúïGî ôïEþî þîºî}î}ïEþsïEþîïEþrïEþîdîKî á�î!Þî%„î(#î)aî+’î05 î8÷î:‚î<³îArïEþî ôïCî£înîxîBî$¿î&?î(pî+¨î-3�î.0î3Ãî7Tî9cî;”î>µî? îA¶îCöîG±îIøîIøïCî ôïAŽ�î ñî&î·î”îìî/î!î$§î%åî'eî*¿î.qî0¢î0¢ïAŽtïAŽî8AïAŽrïAŽ�î8ñî;"î;"ïAŽtïAŽî?ÉïAŽrïAŽ�î@yîCîE3îE3ïAŽtïAŽîHúïAŽrïAŽîIRîIRïAŽî ôï?øî „î Üî®îîÎîjî¼î <�î!9î$ôî,íî/vî3î7}î8ý�î9úî=µîBÚîC2îEÛîIlîIlï?øî ôï>uî zî¸ î¬îzî«î«ï>utï>uî!îï>urï>u�î"ž�î#› î*Xî/~î4èî9Cï>uî ôï;~�îSîî°îî îjî$.î%¯î%¯ï;~tï;~î)ï;~rï;~�î)ï;~tï;~î-Òï;~rï;~�î.Kï;~tï;~î5ˆï;~rï;~�î67î6î98î<qî<qï;~tï;~îC®ï;~rï;~îDîEœîEœï;~î ôï9ètî9ï9èrï9è�î²ï9ètï9èîïï9èrï9èîGîîàîÄî ÷î#Øî%þî(/î,¦î/Eî3ñî4I î;î=Ðî?îATîHîHgîHgï9èî ôï8R îdîyîŸ î×îXî#Ãî%Nî*î*ï8Rsï8Rî/·ï8Rrï8R�î0gî2¹î5æî;±î?»îAìîFBîFBï8Rî ôï6Æ î¶î7îMî îŠ�î‡î"î#�î$šî(—î(ïî-²î/=î2î2ï6Æsï6Æî7(ï6Ærï6Æî7€î:¸î<9î<9ï6Æî ôï5:tî Yï5:rï5:�î Òï5:tï5:îï5:rï5:�îï5:tï5:îÍï5:rï5:�î}îhî ìî%Ðî)Vî,7î.]î1íî3mî5žî:lî:Ä�î<#î<#ï5:tï5:î@Êï5:rï5:îA"îB` îHÜîHÜï5:î ôï3¤ î,îîpîpï3¤sï3¤îzï3¤rï3¤îÒîRî/î!`î%Gî'üî):î,9î,‘î-æî3Eî5Œî6Êî8Jî: î=žî?)î@ìîC,îGîH=îI{îI{ï3¤î ôï2î© îî„î=îeîåî ¨î ¨ï2sï2î%²ï2rï2î& î)yî+Gî/zî/zï2sï2î9Žï2rï2�î:>î=5îAØîD îI}îI}ï2î ôï0Œî Ûî[îîçîìîï0Œsï0Œîï0Œî ôï-ŸîEï-Ÿrï-Ÿîîõî0 î5äï-Ÿî¢ï,îŒîÊ�îÇîm î%±î'âî,Yî5%î<Åï,sï,î<Ëï,î ôï)&î;ï)&rï)&î“îëî0 î5äï)&î¢ï'šîŒîÊ�îÇîm î%±î'âî,Yî5%î:Jî;Ÿî<Çî>]î@ŽîE“îE“ï'šî¢ï&sî)óï&rï&î*Kî+‰î+‰ï&sï&î.ï&rï&�î.¾î1Ÿî3Åî5´î7‚î:lî>¸îAÏîEÎîH¯îH¯ï&î¢ï$‹îÈîÚîZî!î#Nî%÷î*Åî.åî0³î2äî7gî@3îDï$‹î ôï!§î–îî)îî†îî$)î%Qî& î-+î.«î1î4vî7Ðî=Yî=Yï!§sï!§î?Þï!§rï!§î@6îB¿îE×îHîHï!§î ôï î@î/î‰ îîuîî&<î)'î,‹î/‚î1ÿî7%î8Mî9‹î<kî=ëî?ÚîC4îD´îFåîI6îI6ï î ôï˜ îî/îÅîFîŒîîÏî#bî%:î)¦î-ƒî6Oî:±î<×î>»î@&îB™îEŽï˜sï˜îE”ï˜î ôï«î¶î¶ï«uï«îtîˆî(ßï«sï«�î)¶ï«rï«î*î*fî0 î6Fï«î¢ïî‹î‹ïuïîYïrïî±î ï�î!÷î$î$ïsïî&‹ïrïî'´î+¨î+¨ïuïî/ ïrï�î/Ð�î0Íî5Mî6ãî:áî=‰î?5îBîF îF ïî¢ï“îyî<î"#î#®î&î&ï“sï“î+™ï“rï“�î,Hî, î-õî0&î4ôî6Šî>+î?iîD¥îI îI ï“î¢ïîÈî}î"9î%qî%qïuïî/Èïrïî0 î2\î2\ïsïî7fïrïî7¾î;¼î@ŠîCîJ´îJ´ïî¢ï{î&îî6î"¼î$Rî'Šî)»î/Dî/Dï{sï{î=‹ï{rï{î=ãî@lî@lï{î¢ïïsî)óïïrïï�î*Pïïî¢ïî÷î÷ïuïîÅïrïîî[î»î»ïuïî#3ïrïî#‹î$É î+¨î-)�î.&î2ôî6Ýî9fî;)î;)ïsïî@3ïrïî@‹îCvîFîJîJïî¢ïvîàî¡îùî›î" î%%î&Xî&Xïvuïvî)Ðïvrïvî*(î+f�î,cî.¾î2œî6…î8¶î<î?Rî@îE·îGÀïvÿ�������#���� êq?€`½ù��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2If#PARTSis1,NAMEisinterpretedasanorganizationname,andasimplestringisreturned.Inthiscase,ifNAMEisa2-or3-partname,theorganizationisextractedfromit.IfNAMEisalreadyanobjectoftypeNSNAME,thenitisreturnedasis(if#PARTSis3),oritsdomainand/ororganizationpartsareextracted(if#PARTSis1or2).(NSNAME.TO.STRINGNSNAMEFULLNAMEFLG)[Function]ConvertsNSNAME,anobjectoftypeNSNAME,toitsstringrepresentation.IfFULLNAMEFLGistrue,thefullprintednameisreturned;otherwise,fieldsthatareequaltothedefaultareomitted.ProgrammerswhowishtomanipulateNSADDRESSandNSNAMEobjectsdirectlyshouldloadtheLibrarypackageETHERRECORDS.1.2ClearinghouseFunctionsThissectiondescribesfunctionsthatmaybeusedtoaccessinformationintheClearinghouse.(START.CLEARINGHOUSERESTARTFLG)[Function]PerformsanexpandingringbroadcastinordertofindthenearestClearinghouseserver,whoseaddressitreturns.IfaClearinghousehasalreadybeenlocated,thisfunctionsimplyreturnsitsaddressimmediately,unlessRESTARTFLGistrue,inwhichcasethecacheofClearinghouseinformationisinvalidatedandanewbroadcastisperformed.START.CLEARINGHOUSEisnormallyperformedautomaticallybythesystemthefirsttimeitneedsClearinghouseinformation;however,itmaybenecessarytocallitexplicitly(withRESTARTFLGset)ifthelocalClearinghouseservergoesdown.CH.NET.HINT[Variable]Anumberorlistofnumbers,givingahintastowhichnetworkthenearestClearinghouseserverison.WhenSTART.CLEARINGHOUSElooksforaClearinghouseserver,itprobesthenetwork(s)givenbyCH.NET.HINTfirst,performingtheexpandingringbroadcastonlyifitfailsthere.IfthenearestClearinghouseserverisnotonthedirectlyconnectednetwork,settingCH.NET.HINTtothepropernetworknumberinthelocalINITfilecanspeedupSTART.CLEARINGHOUSEconsiderably.(SHOW.CLEARINGHOUSEENTIRE.CLEARINGHOUSE?DONT.GRAPH)[Function]ThisfunctiondisplaysthestructureofthecachedClearinghouseinformationinawindow.Oncecreated,itwillberedisplayedwheneverthecacheisupdated,untilthewindowisclosed.ThestructureisshownusingtheLibrarypackageGRAPHER.IfENTIRE.CLEARINGHOUSE?istrue,thenthisfunctionprobestheClearinghousetodiscovertheentiredomain:organizationstructureoftheInternet,andgraphstheresult.IfDONT.GRAPHistrue,thestructureisnotgraphed,butrathertheresultsarereturnedasanestedlistindicatingthestructure.(LOOKUP.NS.SERVERNAMETYPEFULLFLG)[Function]Returnstheaddress,asanNSADDRESS,fortheobjectNAME.TYPEisthepropertyunderwhichtheaddressisstored,whichdefaultstoADDRESS.LIST.Theinformationiscachedsothatitneednotberecomputedoneachcall;thecacheisclearedbyrestartingtheClearinghouse.IfFULLFLGistrue,returnsalistwhosefirstelementisthecanonicalnameofNAMEandwhosetailistheaddresslist.ThefollowingfunctionsperformvarioussortsofretrievaloperationsondatabaseentriesintheClearinghouse.Here,"TheClearinghouse"referstothecollectiveserviceofferedbyalltheClearinghouseserversonaninternet;Lispinternallydealswithwhichactualserver(s)itneedstocontacttoobtainthedesriedinformation.Theargument(s)describingtheobjectsunderconsiderationcanbestringsorNSNAME's,andinmostcasescan���îGÀïvî êïførî ôïh„s�î Ëïh„î¢ïbrî÷î÷ïbuïbîÅïbrïbîî[î»î»ïbuïbî#3ïbrïbî#‹î$É î+¨î-)î.ìî6î:vî<ÿ�î=üîB0îEÖîGîGïbî¢ï`~îcî»î]î Ïî#çî%î%ï`~uï`~î(’ï`~rï`~î(êî*(�î+%î,¦î.<î2î6î84î?ÕîAîFÊîJîJï`~î¢ï^ûîÏï^ûî¢ï\î÷î÷ï\uï\îoï\rï\îÇîî!¨î#kî'Rî(Ýî+¾î+¾ï\sï\î0Èï\rï\�î1xî4oî5—î6Õî<?î=Àî>þî@ªî@ªï\uï\îExï\rï\îEÐîGîHçîJ}îJ}ï\î¢ïZ‹îNîî!“î)4î,mî.“î4Jî5öî5öïZ‹uïZ‹î:ÄïZ‹rïZ‹î;î<Z�î=bî>øî@xïZ‹sïZ‹î@~ïZ‹î ôïWžîîïWžuïWžî\ î' ïWžsïWž�î'÷ïWžrïWžî(Oî(§î0 î6FïWžî¢ïVîBîBïVuïVî!FïVrïV�î!öî#¹î' î)+î,î,ïVsïVî1ïVrïV�î1Æî3Fî4òî8˜îA±îB îC^îC^ïVî¢ïT†u îfïT†rïT†î¾î üî$ î&:î(•î-8î0Éî2î7ê î>9îA½îD\îF‚îJîJïT†î¢ïSî"îSîÊî ðî%ÙïSî ôïP î3îî î‰ î }î }ïPsïPî(ïPrïPî(dî*íî*íïPsïPî/÷ïPrïPî0Oî4ºî9}î=Çî@¦îB×îGšîGšïPî ôïN“îîïN“sïN“îïN“rïN“�îpïN“qïN“îvïN“î ôïHÍîî\îwî)îûïHÍrïHÍîïHÍî ôïEÈîÞîIîÿîÊîiî"?î$î'î(î,m î3Âî5Bî7s î@>ïEÈsïEÈî@DïEÈî ôïBÛî—î—ïBÛuïBÛ î#ïBÛsïBÛ�î#êïBÛrïBÛî$Bî$šî0 î6FïBÛî¢ïAOîXîî$—î'Kî-Cî.Ãî2Hî3Èî6‡î8¸î=;îFîJ=îJ=ïAOî¢ï?Ìî îZî ‚î%\î%´î' �î(î0Òî3î7¼î:êî?ÎîB@îG‡îG‡ï?Ìî¢ï>Iîáîdî!î%Êî-Åî1¸î1¸ï>Iuï>I î94ï>Irï>Iî9Œî:Êî=×î?WîC4îEôîH%îH%ï>Iî¢ï<Æî>îÉî$• î+êî-( î4î6Ž�î7‹î:Kî@CîA îHjîHÂîHÂï<Æî¢ï;Csî&—ï;Crï;Cî&ïî(-î-Ëî4]î<™î>gî@˜îDäîGîI¾îI¾ï;Cî¢ï9·î˜îÀîrî'>î/î4·î5ßî8µî:xî@[îAÛîD6îE^îE^ï9·î¢ï84 îUî¹î¹ï84uï84 î'5ï84rï84î'î)õî+(î-Yî0nî9:î=î@îCï84sï84îC£ï84î ôï5G î1ï5Grï5Gî‰îáî0 î5äï5Gî¢ï3»�îîýî“î ¡î",î(î+ö�î,óî/§î1(î2¨î6…î;«î=ÜîB_îB_ï3»î¢ï28înî#Lî$Šî&¹î'î*úî*úï28sï28î:ïï28rï28î;Gî>³î@Â�îA¿îJ‹îJ‹ï28î¢ï0¬îØî�î Kî"| î)î,î.kî.kï0¬sï0¬ î7¨ï0¬rï0¬î8�î; îB�îD1îJîJï0¬î¢ï/ îVîNî"8î#kî$“î'Qî+î,Wî.ˆî3î;×î?µî@óîC9îEîGBîGBï/ î¢ï-îeî!µî'3î+hî+hï-sï- î4¥ï-rï-î4ýî6}î8®î<ùîBîGîH›îH›ï-î¢ï,îÓîèîèï,sï,îDï,rï,îœî!Öî$3î'åî)Éî)Éï,sï,î9¾ï,rï,î:îAÙï,sï,îAßï,î ôï)$îÀîÀï)$uï)$î*6 î1Ìï)$sï)$�î2£ï)$rï)$î2ûî3Sî6š î<Àï)$î¢ï'˜îŒîÓî#Øî& î+”î-î/Pî3²î<~ îCÓîES�îFPîFPï'˜î¢ï&îóîKîºî$«î%Óî(Nî* î1&î7*î9[î<÷î>5îCµîFËîHüîHüï&î¢ï$’îœîÚî!.î!†î$/î)ºî*øî/î2‘î4Âî9…î>–î>–ï$’sï$’îDwï$’rï$’�îDÔï$’î¢ï!¥î÷î÷ï!¥uï!¥î''ï!¥rï!¥î'î(½î+Êî.Áî13î6zî:Åî<öîEÂîGBîGBï!¥î¢ï "îÓîî!Àî.Pî3Ûî5fî7—î=î?ŠîCËîEüîIîîJFîJFï "î¢ïŸî÷î÷ïŸuïŸ îïŸrïŸîåî!#î$0î&aî+ìî-*î/pî4ðî7Bî; î=QîApîC–îI�îJîJïŸî¢ï�îŸî¿îÍ î#úî&+ î+µïsïî+»ïî ôï/îîï/uï/îÐî î%^ï/sï/�î&5ï/rï/î&î&åî0 î6Fï/î¢ï£î©îÚî"ìî$mî&0î&0ï£sï£î-¿ï£rï£�î.oî0~î2¯î6–î6–ï£uï£î:ï£rï£�î:½î;î;mî;mï£uï£î>iï£rï£î>Áî?ÿîB0îG™îG™ï£î¢ïîuîRî ƒî%=î&{î*Æî.£î3žî5î5ïsïî?2ïrï�î?áî@9îBâ îJ7îJ7ïî¢ï‹îàîBîØî wî!Ÿî$Íî'î(Ö î09î2î5î7çî:î=´î>òîCîEMîEMï‹î¢ï î„îµ î'Øî(0î)…î)…ïuïî.Ñïrïî/)î0gî3tî7÷�î8ôî;î?�îA©îF¯îGíîJîJïî¢ï…î‚î î!žî!žï…uï…î%ï…rï…î%nî'÷î+õî.$î/bî1“î6Mî8`ï…î ôï¡îî{îFîmî"î%î&›î+Ì î2Fî4î9ˆî=Èî?HîAy îJœîJôîJôï¡î ôïî ‘îê îfî îî!¾ î'’î+èî0€î2Nî4î6@î?îCnîEFîG îG ïî ôï›î]îG î=î‹îvî"Sî&%î+yî,¡î0Sî1Óî6`î7àî;óî>$îB¼îJhîJÀîJÀï›î ôïî î îqî¢î! î$àî-î/yî1<î5fî6üî6üïsïî<ïrïî=’î@îA›îDÈîHîJiîJiïÿ�������o���� êq?€`½í������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3containthewildcard"*",whichmatchesasubsequenceofzeroormorecharacters.Wildcardsarepermittedonlyinthemostspecificfieldofaname(e.g.,intheobjectpartofafullthree-partname).Whenanoperationintendedforasingleobjectisinsteadgivenapattern,theoperationisusuallyperformedonthefirstmatchingobjectinthedatabase,whichmayormaynotbeinteresting.(CH.LOOKUP.OBJECTOBJECTPATTERN)[Function]LooksupOBJECTPATTERNintheClearinghousedatabase,returningitscanonicalname(asanNSNAME)iffound,NILotherwise.IfOBJECTPATTERNcontainsa"*",returnsthefirstmatchingname.(CH.LIST.ORGANIZATIONSORGANIZATIONPATTERN)[Function]ReturnsalistoforganizationnamesintheClearinghousedatabasematchingORGANIZATIONPATTERN.Thedefaultpatternis"*",whichmatchesanything.(CH.LIST.DOMAINSDOMAINPATTERN)[Function]Returnsalistofdomainnames(two-partNSNAME's)intheClearinghousedatabasematchingDOMAINPATTERN.Thedefaultpatternis"*",whichmatchesanythinginthedefaultorganization.(CH.LIST.OBJECTSOBJECTPATTERNPROPERTY)[Function]ReturnsalistofobjectnamesmatchingOBJECTPATTERNandhavingthepropertyPROPERTY.PROPERTYisanumberorasymbolicnameforaClearinghouseproperty;thelatterincludeUSER,PRINT.SERVICE,FILE.SERVICE,MEMBERS,ADDRESS.LISTandALL.Forexample,(CH.LIST.OBJECTS"*:PARC:Xerox"(QUOTEUSER))returnsalistofthenamesofusersinthedomainPARC:Xerox.(CH.LIST.OBJECTS"*lisp*:PARC:Xerox"(QUOTEMEMBERS))returnsalistofallgroupnamesinPARC:Xeroxcontainingthesubstring"lisp".(CH.LIST.ALIASESOBJECTNAMEPATTERN)[Function]ReturnsalistofallobjectsintheClearinghousedatabasethatarealiasesandmatchOBJECTNAMEPATTERN.(CH.LIST.ALIASES.OFOBJECT)[Function]ReturnsalistofallobjectsintheClearinghousedatabasethatarealiasesofOBJECT.(CH.RETRIEVE.ITEMOBJECTPROPERTYINTERPRETATION)[Function]RetrievesthevalueofthePROPERTYpropertyofOBJECT.Returnsalistoftwoelements,thecanonicalnameoftheobjectandthevalue.IfINTERPRETATIONisgiven,itisaClearinghousetype(seesectionX.XX)withwhichtointerpretthebitsthatcomeback;otherwise,thevalueissimplyoftheform(SEQUENCEUNSPECIFIED),alistof16-bitintegersrepresentingthevalue.(CH.RETRIEVE.MEMBERSOBJECTPROPERTY---)[Function]RetrievesthemembersofthegroupOBJECT,asalistofNSNAME's.PROPERTYisClearinghouseGrouppropertyunderwhichthemembersarestored;theusualpropertyusedforthispurposeisMEMBERS.(CH.ISMEMBERGROUPNAMEPROPERTYSECONDARYPROPERTYNAME)[Function]TestswhetherNAMEisamemberofGROUPNAME'sPROPERTYproperty.Thisisapotentiallycomplexoperation;seethedescriptionofprocedureIsMemberintheClearinghouseProtocoldocumentationfordetails.���îJiïî êïførîI“ïh„s�îJjïh„î ôïbrî¡îÒî±î’�îBïbsïb�îïbrïbîyîVî"s�î#p î+7î,Âî/–î1,î4 î;"î;zîAÉîCïîJîJïbî ôï`uîÞî^îî¼îtîtîÿ�îüî!î$¹î&9î(jî,Qî/î0‘�î1Žî3é î:î>zî>ÒîB»îD~îJtîJtï`uî ôï^òî~î�îŠîEî,îjîìî#q�î$nî)Tî+…î1{î2¹î7:î=Ìî?¤îAÕîD~îJJîJJï^òî ôï]oî Ûî[îŒîNî+îî—î"mî$³î&vî,ûï]osï]oî-ï]oî ôïZ‚îîïZ‚uïZ‚î"ÉïZ‚sïZ‚�î# ïZ‚rïZ‚î#øî$Pî0 î6FïZ‚î¢ïXöî’îvîvïXöuïXöî&-ïXörïXöî&…î(î*6î3î8Äî>›î@GîF'îI¸îI¸ïXöî¢ïWsîœî_î_ïWssïWsîiïWsrïWs�î :î!mî%¢î%¢ïWssïWsî('ïWsrïWsî( î.Íî/%î0zî0zïWsuïWsî:1ïWsrïWsî:‰î?º�î@·�îAgïWssïWs�îB>ïWsrïWsîCžîH!îJRîJRïWsî¢ïUçîKîî"§ïUçsïUçî"ïUçî ôïRúîEîEïRúuïRúî+¯ïRúsïRú�î,†ïRúrïRúî,Þî-6î0 î6FïRúî¢ïQnî©�î¦î´î ?î'àî+õî-uî/¦î8rî=ÜîC¨îC¨ïQnî¢ïOëuî%ïOërïOë�î%»î(dî,Ûî1iî2§�î3WïOësïOë�î4.ïOërïOëî5Žî9kî>ˆîDïOësïOëîDïOëî ôïLþî;î;ïLþuïLþî"~ïLþsïLþ�î#UïLþrïLþî#î$î0 î6FïLþî¢ïKrî©�î¦î´î ?î% î)"î.îî.îïKrsïKrî3øïKrrïKrî5¥î7%î9VîB"îGŒîGŒïKrî¢ïIæînînïIæuïIæî&±ïIærïIæ�î'`î* î.€î3î4L�î4üïIæsïIæ�î5ÓïIærïIæî73î;î@-îE¬îG,îI]îI]ïIæî¢ïHZîî"¹ïHZsïHZî"¿ïHZî ôïEmî;î;ïEmuïEmî"8î(\ïEmsïEm�î)3ïEmrïEmî)‹î)ãî0 î6FïEmî¢ïCáî©�î¦î´î ?î$&î(;î.î.ïCáuïCáî7¾ïCárïCáî8î:Ÿî>êîAîF„îF„ïCáî¢ïB^uîÆïB^rïB^�îïB^uïB^îcî#‡ïB^rïB^î#ßî%�î&î+î,¬�î-©î3<î6Íî8Ü�î9ÙîB¥îH‡îJ¸îJ¸ïB^î¢ï@Ûîî³î³ï@Ûsï@Ûî"ï@Ûrï@Û�î"¿î"¿ï@Ûsï@Ûî-ªï@Ûrï@Û�î.Zî.Zï@Ûsï@Ûî8nï@Ûrï@Û�î9î9ï@Ûsï@Ûî>ÿï@Ûrï@Û�î?¯î?¯ï@Ûsï@ÛîIÃï@Ûrï@ÛîJîJï@Ûî¢ï?Oî+î+ï?Osï?Oî°ï?Orï?O�î ï?Oî¢ï<bîîfï<bsï<bîlï<bî¢ï9uî$é î1‚î7cî<mï9urï9uî<sï9uî¢ï6ˆî%�î"î0î»î!ìî&î'Œî*Ûî,[î.Œî3Z î;¢ï6ˆsï6ˆî;¨ï6ˆî¢ï3›î$éî5µî;–îC%ï3›rï3›îC+ï3›î¢ï0®î%�î"î0î»î!|î%Nî)cî*ã î3, î9±î;âîA˜îE]ï0®sï0®îEcï0®î ôï-Áî;î;ï-Áuï-Áî%jï-Ásï-Á�î&Aï-Árï-Áî&™î&ñî0 î6Fï-Áî¢ï,5î©�î¦î´î ?î"�î&kî'ëî*î2èî8Rî:ñî=îA*îC³îG§îG§ï,5î¢ï*²uî#Ñï*²rï*²�î$(ï*²sï*²î$.ï*²î ôï'ÅîÀîÀï'Åuï'Åîï'Åsï'Å�îôï'Årï'Åî Lî ¤î0 î6Fï'Åî¢ï&9î©�î¦î´î ?î"�î&kî'ëî*î2èî8Rî:ñî=îA*îBµîBµï&9uï&9îGï&9rï&9�îGiï&9sï&9îGoï&9î ôï#Lîîï#Luï#Lîµî$ î.kï#Lsï#L�î/Bï#Lrï#Lî/šî/òî0 î6Fï#Lî¢ï!Àîyîªî"$î#¯î%àî%àï!Àuï!Àî,ï!Àrï!Àî,\î1Åî3Pî3Pï!Àuï!Àî7ï!Àrï!À�î8\î8´î=»�î>¸î@ÆîBQîDÎîJ°îJ°ï!Àî¢ï =îÓî³î"Dî#Ïî&�î)çî,pî.¡î2rî2Êî4î4ï =uï = î>kï =rï =î>Ãî@îCÞîEîFD�îGAîGAï =î¢ïºînî"Oî$îî)Yî-™î0„î4aî5áî;Uî=†î?øîB—îFîI¡îI¡ïºî¢ï7 îñî"î"œî#Úî(î)¤î+Õî/ î/ ï7sï7î7sîA‡ï7rï7�îB7�îC4îEBîFÍîJ”îJ”ï7î¢ï«î’î#7î%hî(áï«sï«î(çï«î ôï¾î—î—ï¾uï¾î :î&¤î'Çï¾sï¾�î(žï¾rï¾î(öî)Nî0 î6Fï¾î¢ï2îyîªî$lî%÷î((î+úî+úï2uï2î0Wï2rï2�î1î2ˆ�î3…î5“î7î7ï2sï2î<(ï2rï2î=³î>î>ï2uï2îD/ï2rï2îD‡îEÅîEÅï2î¢ï¦înî#¹î)"î,õî0Òî3î8Åî:ëî?WîAˆîD÷îJ`îJ`ï¦î¢ï#î¯î¾î0î#Aî$î$ï#sï#î*`ï#rï#�î*·ï#sï#î*½ï#î ôï6îßîßï6uï6î¡î#î0£î4ï6sï6�î4òï6rï6î5Jî5¢î6š î<Àï6î¢ïªîûîîïªuïªî"ïªrïªî"èî$&�î%#î*aî+ìî+ìïªuïªî3hïªrïªî4œî4œïªuïªî:Àïªrïªî;î@ØîA0îDîEX�îFUîFUïªî¢ï' î<î"Ž î(ýî+#î-T î41î5¼î<î<ï'sï'îBÄï'rï'îCîDœîFÍîFÍï'î¢ï›înî$³î-âî/ñî4ï›qï›î4ï›ÿ������� ‘���� êq?€`½o��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������41.3NSPrintingThissectiondescribesthefacilitiesthatareavailableforprintingInterpressmastersonNSPrintservers.(NSPRINTPRINTERFILEOPTIONS)[Function]ThisfunctionprintsanInterpressmasteronPRINTER,whichisaClearinghousenamerepresentedasastringorNSNAME.IfPRINTERisNIL,NSPRINTusesthefirstprintserverregisteredinthedefaultdomain.FILEisthenameofanInterpressfiletobeprinted.OPTIONSisalistinpropertylistformatthatcontrolsdetailsoftheprinting.Possiblepropertiesareasfollows:DOCUMENT.NAMEThedocumentnametoappearontheheaderpage(astring).Defaultisthefullnameofthefile.DOCUMENT.CREATION.DATEThecreationdatetoappearontheheaderpage(aLispintegerdate,suchasreturnedbyIDATE).Thedefaultvalueisthecreationdateofthefile.SENDER.NAMEThenameofthesendertoappearontheheaderpage(astring).Thedefaultvalueisthenameoftheuser.RECIPIENT.NAMEThenameoftherecipienttoappearontheheaderpage(astring).Thedefaultisnone.#COPIESThenumberofcopiestobeprinted.Thedefaultvalueis1.MEDIUMThemediumonwhichthemasteristobeprinted.Ifomitted,thisdefaultstothevalueofNSPRINT.DEFAULT.MEDIUM,asfollows:NILmeanstousetheprinter'sdefault;Tmeanstousethefirstmediumreportedavailablebytheprinter;anyothervaluemustbeaCouriervalueoftypeMEDIUM.Theformatofthistypeisalist(PAPER(KNOWN.SIZETYPE))or(PAPER(OTHER.SIZE(WIDTHLENGTH))).ThepaperTYPEisoneofUS.LETTER,US.LEGAL,A0throughA10,ISO.B0throughISO.B10,andJIS.B0throughJIS.B10.STAPLE?Trueifthedocumentshouldbestapled.#SIDES1or2toindicatethatthedocumentshouldbeprintedononeortwosides,respectively.ThedefaultisthevalueofEMPRESS#SIDES.PRIORITYThepriorityofthisprintrequest,oneofLOW,NORMAL,orHIGH.Thedefaultistheprinter'sdefault.(NSPRINTER.STATUSPRINTER)[Function]Thisfunctionreturnsalistdescribingtheprinter'scurrentstatus---whetheritisavailableorbusy,andwhatkindofpaperisloaded.(NSPRINTER.PROPERTIESPRINTER)[Function]Thisfunctionreturnsalistdescribingtheprinter'scapabilitiesatthemoment---typeofpaperloaded,whetheritcanprinttwo-sided,etc.1.4NSFilingLispaccessesXeroxNSfileserversusingtheNSFilingProtocol.Formostoperations,theprogrammersimplytreatstheNSfileserverasanyotherhostordevice.OPENFILE,GETFILEINFO,DIRECTORYallworkappropriatelywhenthefilenamespecifiesanNSfileserverhostname,e.g.,���î4ï›î êïg2qî ôïh„s�î Ëïh„î ôïbqîî\îwî½îˆïbrïbîŽïbî ôï^üîÞîIîÿî0 î_î þî#$î(¬î*»î/Ë î5ûî:Àî<˜î>ØîBîF|ï^üsï^üîF‚ï^üî ôï\îƒîƒï\uï\îæîÛî ï\sï\�îáï\rï\î 9î ‘î0 î6Fï\î¢ïZƒîŒîÓî"î$R î*‚î.Ãî0›î0›ïZƒuïZƒî5¸ïZƒrïZƒ�î6hî:Eî;ƒ�î<€îELîHÝîHÝïZƒî¢ïY� îÚî[�î Xî#þî%”î%”ïY�sïY�î*žïY�rïY��î+Mî+¥î,úî,úïY�uïY�î2ïY�rïY�î2oî3î3ïY�sïY�î62ïY�rïY��î6âî6âïY�sïY�î<ÃïY�rïY�î=î?æîBîDÀîGøîGøïY�î¢ïWtî€ î ™î"î$Jî(Áî-æî-æïWtuïWtî0•ïWtrïWtî0íî2+î4\î7íî9xî;; îAkîC¥îE%îFèîFèïWtî¢ïUñîœîôîôïUñuïUñî!#ïUñrïUñî!{î"¹�î#¶î%Äî'Dî,î.»î3î5¥î:©î>Çî@RîBƒîGêîHBîHBïUñî¢ïTnî¼ î"�î$&î%§î*RïTnsïTnî*XïTnî¢ïQî!ïQrïQî!åî"=î"•î"Âî%kî+¥î/6î0¶î5 î6åî9î=mî@…îAûîFqîFÉîFÉïQî ÔïOõî%£î&áî)î+mî.þî0‰î2ºî4óïOõsïOõî4ùïOõî¢ïMî)ïMrïMî)tî)Ìî*$î*3î,Üî1ìî4Âî6Bî:™î<qî>¢îBùîFîG‡îJqîJqïMî ÔïK|î%@î(nî+pî,ñî2[î4)î4)ïK|sïK|î8\ïK|rïK|î9„î9Üî<…î@üîDvîE´îGåîGåïK|î ÔïIðî%äî(ºî*Eî,vî.¯ïIðsïIðî.µïIðî¢ïG îßïGrïGî 7î î çî"Âî%kî(üî*‡î,¸î0îî2nî6Åî8î:Îî?%îB=îC³îH)îHîHïGî ÔïEwî#}î'ôî+nî,¬î.Ýî2nî3ùî6*î8ôïEwsïEwî8úïEwî¢ïBŠ î"dïBŠrïBŠî"¼î#î#lî%=î'æî+wî-î/3î4±î61î:ˆî<`î>‘îBèîF�îGvîGvïBŠî Ôï@þî%Jî%¢î(Kî,Âî.�î1Bï@þsï@þî1Hï@þî¢ï>îƒï>rï>îÛî3î‹î Ôî#}î(yî*î.î/î1Dî6>î6–î9?î=¶îA0îBnîCuï>sï>îC{ï>î¢ï;$î¬ï;$rï;$îî\î´î Ôî#}î(ºî*’î.oî0 î4áî6î7Ÿî9bî>\î>´î@ îEEîG·îG·ï;$î Ôï9˜î%Ïî'Oî)€î,úî.…î.…ï9˜sï9˜î@ÿï9˜rï9˜�îA¯îC0îH3îH‹îH‹ï9˜î Ôï8sî#Yï8rï8î#±î'Æî)Fî+î-¾î2ûî7ëî7ëï8sï8�î8Âï8rï8î9î=/î>¯î@öîC'îEÐîEÐï8î Ôï6€î&î+oî0÷î2Åî4öî9Ðî<Cî?²îC,îFeîH(�îI%îI%ï6€î Ôï4ýî%¸î)2î*½î-žî-žï4ýsï4ýî2¨ï4ýrï4ý�î3Wî3¯î6Xî:£î<.î> îAîB¿�îC¼îEÊîEÊï4ýî Ôï3qsî&µ î0Éî0Éï3quï3qî3Åï3qsï3qî5sï3qrï3qî5Ëî7aî7aï3qsï3qî=B îGVîGVï3qî Ôï1å�î!«ï1åuï1åî&î*Øï1åsï1åî-]ï1årï1å�î.î.dî1 î4¿î4¿ï1åuï1åî7»ï1årï1åî8î9Qî;Îî=Yî=Yï1åsï1åîDèï1årï1å�îE˜îE˜ï1åî Ôï0Ysî'Œï0Yrï0Y�î(<î(<ï0Ysï0Yî)êï0Yrï0Yî*Bî/Hî/Hï0Ysï0Yî1Íï0Yrï0Y�î2}î2}ï0Ysï0Yî7‡ï0Yrï0Yî7ßî<åî<åï0Ysï0YîBÆï0Yrï0Y�îCvîEÿîEÿï0Yî Ôï.Ísî%Þï.Írï.Íî&6î+<î+<ï.Ísï.Íî1ï.Írï.Í�î1tï.Ísï.Íî1zï.Íî¢ï+àîƒï+àrï+àîÛî3î‹î Ôî$î%4î'eî-Ÿî1éî3¬î8-ï+àsï+àî83ï+àî¢ï(óî¬ï(órï(óîî\î´î Ô�î!Üî#r�î$zî%úî*ôî-“î/Äî5þî:Hî<î@®îB†îEîF™îIîIï(óî Ôï'gî$Yî+ñî,Iî.òî3iî4§î6Øî:Rî;Ýî;Ýï'gsï'gîFÈï'grï'g�îGï'gsï'gîG%ï'gî¢ï$zîZï$zrï$zî²î îbî Ôî#}î(?î)Êî,<î/tî4pî6íî8xî8xï$zsï$zî:ýï$zrï$z�î;î;ï$zsï$zî@·ï$zrï$z�îAgîBýîBýï$zsï$zîFYï$zrï$z�îGîG`îJ îJ ï$zî Ôï"îî%Kî&‰î(ºî-÷î2mï"îsï"îî2sï"îî ôï îîï uï î/ï sï �îï rï î^î¶î0 î6Fï î¢ïuîŒîÓî#V�î$Sî&a î,Æî.÷î44î8ÍîB¤îCÌîE îJ’îJ’ïuî¢ïòî8î¨î1î!_î$_î%êî)œî*Úî/#ïòsïòî/)ïòî ôïînînïuïî!‹ïsï�î"bïrïî"ºî#î0 î6Fïî¢ïyîŒîÓî#V�î$Sî&a î,Æî.÷î44î;î<†î>·îGèîIsîIsïyî¢ïöîTîöî$î%;î'˜î*Ð î15î39ïöqïöî3?ïöî ôï0îî\îwî½î)ï0rï0î/ï0î ôï+îÞîåîØî î\î!Öî$î&Gî*!î/½î0î2‘î5¾ î<î>Á îFqîJ°îJ°ï+î ôï¨î zî«îë î«î,îŸîî!Øî#nî'Ùî(1î(1ï¨sï¨î.éï¨rï¨�î/™î/™ï¨sï¨ î8Öï¨rï¨�î9†î9†ï¨sï¨îAï¨rï¨îAmîC.îF{îF{ï¨î ôïî1î·îèî[î"¢î$eî&¥î(ßî,½î/‡î3pî6#î6#ïÿ�������s���� êq?€`½z������������������������������������������������������������������������������������������������������������������������������������������������������5{PHYLEX:PARC:XEROX}<LISP>LIBRARY>GRAPHER.DCOM;1.NotethatallNSFileServerhostnamesmustcontainacolon,evenifthedomainandorganizationfieldsaredefaulted,inorderthattheybedistinguishablefromothertypesofhostnames(e.g.,Pupservernames).NotealsothatspacesareallowablecharactersinNSnames.Thus,ifanNSfilenamecontainsspaces(inthefilenameortheservername)andispresentedasalitatom,thespacesmustbequotedwith%.However,allthestandardfileoperationsalsoworkwhenthenameispresentedasastring,inwhichcasethereisnoproblemwithspaces.ThefollowingarefeaturesspecifictoNSfileservers.(BREAK.NSFILING.CONNECTIONHOST)[Function]ClosesanyopenconnectionstoNSfileserverHOST.FILING.ENUMERATION.DEPTH[Variable]ThefullNSFilingProtocolsupportsatruehierarchicalnamespaceforfiles.ThisleavessomeambiguityabouthowdeepthefunctionDIRECTORYshouldenumeratefiles.ThedepthiscontrolledbythevariableFILING.ENUMERATION.DEPTH,whichiseitheranumber,specifyingthenumberoflevelsdeeptoenumerate,orT,meaningenumeratetoalllevels.Intheformercase,whentheenumerationreachesthespecifieddepth,onlythesubdirectorynamerootedatthatlevelislisted,andnoneofitsdescendantsislisted.WhenFILING.ENUMERATION.DEPTHisT,allfilesarelisted,andnosubdirectorynamesarelisted.FILING.ENUMERATION.DEPTHisinitiallyT.IndependentofFILING.ENUMERATION.DEPTH,arequesttoenumeratethetop-levelofafileserver'shierarchylistsonlythetoplevel,i.e.,assumesadepthof1.Forexample,(DIRECTORY'{PHYLEX:})listsexactlythetop-leveldirectoriesoftheserverPHYLEX:.1.5SPPStreamInterfaceThissectiondescribesthestreaminterfacetotheSequencedPacketProtocol.SPPisthetransportprotocolforCourier,whichinturnisthetransportlayerforFilingandPrinting.(SPP.OPENHOSTSOCKETPROBEPNAMEWHENCLOSEDFN)[Function]ThisfunctionisusedtoopenabidirectionalSPPstream.Therearetwocases:userandserver.User:IfHOSTisspecified,anSPPconnectionisinitiatedtoHOST,anNSADDRESSorstringrepresentinganNSaddress.Ifthesocketpartoftheaddressisnull(zero),itisdefaultedtoSOCKET.IfbothHOSTandPROBEParespecified,thentheconnectionisprobedforaresponsebeforereturningthestream;NILisreturnedifHOSTdoesn'trespond.Server:IfHOSTisNIL,apassiveconnectioniscreatedwhichlistensforanincomingconnectiontolocalsocketSOCKET.SPP.OPENreturnstheinputsideofthebidirectionalstream;thefunctionSPPOUTPUTSTREAMisusedtoobtaintheoutputside.ThestandardstreamoperationsBIN,READP,EOFP(ontheinputside),andBOUT,FORCEOUTPUT(ontheoutputside),aredefinedonthesestreams,asisCLOSEF,whichcanbeappliedtoeitherstreamtoclosetheconnection.NAMEisamnemonicnamefortheconnectionprocess,mainlyusefulfordebugging.WHENCLOSEDFNisanoptionalfunctionorlistoffunctionstocallwhenthestreamisclosed,eitherbytheuserortheserver.(SPPOUTPUTSTREAMSTREAM)[Function]��î6#ïî êïførîI“ïh„s�îJjïh„î ôïbð/î1mïbrïb�î2î2tî5»î8Zî:î<[î?îC"îEìîJîJïbî ôï`uî -îÚ�î×î½îÕîî9î"î$î,1î/µî1Û î8î9•î=î?¹îBšîD]îD]ï`uî ôï^òî"îZîÉî.î¹î!ƒî%˜î(Äî+yî/Wî4<î4”î7Ûî:xî=îA!îCGîI1îI1ï^òî ôï]o î/î¯îïî[î³îYîŒîOî!î#Éî'Zî,‹î0•î2Žî4¿î6ùî:Šî< î>QîB/îF9îHÂîJ�îJ�ï]oî ôï[ìîî„�îîYîŠî”î Íî"î'î)òî)òï[ìsï[ì�î*Éï[ìrï[ì�î+xî+Ðî1Ôî3•î5Æî;0î=j îCäîFîIÎîIÎï[ìî ôïZ`î zî«î<îzî‰î �îî!î"…î&bî)"î,|î-ºî/’î4äî7Ïî;ÞïZ`î ôïW|îî{î¡îîUîÕî"î(XïW|sïW|î(^ïW|î ôïTî ¡î ¡ïTuïTî#ÓïTsïT�î$ªïTrïTî%î%Zî0 î6FïTî¢ïSîÀî3î v î'Áî)Aî+î-»î1™î1™ïSuïSî4ËïSrïS�î5"ïSsïSî5(ïSî ôïPîïPrïPîtîÌî0 î5äïPî¢ïNŠîKî¦îæî!Àî'î,c�î-`î0î7Jî:Ûî>aî@pîC…îCÝîFÇîJ¤îJ¤ïNŠî¢ïMîî Jî#ûî&Ðî)þî,/î1vî1vïMsïMî9ïMrïMî9]î=§îD:îGOîG§îJPîJPïMî¢ïK{î_î î!êî#¸î%éî*îî*îïK{sïK{î?ïK{rïK{�î?ÆîC£îDáîH�îIšîIšïK{î¢ïIïîö î":î$kî)gî*òî.Œî1ºî3: î:%î;»î;»ïIïsïIï�î<’ïIïrïIï�î=BîB«îI>îJ¾îJ¾ïIïî¢ïHcîcîTî¬îNî î$àî'øî+~î-¯ î5î:.î<_îAèîEýîHçîHçïHcî¢ïFàîÓî ‚î$î(<î)§î,Fî/\î0šî4kî6ôî:7î;Âî=n îDÝîFîIëîJCîJCïFàî¢ïE]î‹î‹ïE]sïE]î.³ïE]rïE]î/î0Iî0IïE]sïE]�î1 ïE]rïE]�î1Ðî3‘î6Oî8uî<Fî>Ïî@§îHVîHVïE]î¢ïCÑî·îÝî î!î!ïCÑsïCÑî5-ïCÑrïCÑî5…î6Ãî;Žî;ŽïCÑsïCÑ�î<eïCÑrïCÑ�î<ÂïCÑî¢ï@ä îî î ï@äsï@äî42ï@ärï@ä�î4â�î5ßî:ƒî<îB–îDÇîJDîJDï@äî¢ï?Xî-�î*îdî î&�î(’î+|î-î/óî3aî5Æî:ã�î;àî?îA(îB‡îBßîE[îE[ï?Xî¢ï=ÕîBîBï=Õsï=Õ î% î.¼ï=Õrï=Õî/î1¦î6î8Cî=À îD:îEÅîGöîGöï=Õî¢ï<Iî€î€ï<Isï<Iî aï<Irï<I�î ¸ï<Iqï<Iî ¾ï<Iî ôï6ƒîî\îwîwîîVï6ƒrï6ƒî\ï6ƒî ôï3~îÞîIîÿî0îqî"åî$eî&–î-Uî1Šî7&î7~î:>î;|î=îCXîH’îJ¡îJ¡ï3~î ôï1ûî0î îîcî¡îÒî }î#µî%Äî)žî,'î1Aï1ûsï1ûî1Gï1ûî ôï/îZîZï/uï/îÒî»î›î#Yî-Aï/sï/�î.ï/rï/î.pî.Èî0 î6Fï/î¢ï-‚îŒîÓî î#î$žî'á�î(Þî0 î3`î7øî8Pî<"î>Hî@ÅîD‚îGMîIÖîIÖï-‚î¢ï+ÿî…ï+ÿî¢ï)î>î–îëîëï)uï)îï)rï)îuî ³ î&”î(Wî+ î1Þî3î8Lî9Ìî9Ìï)uï)î<þï)rï)�î=®î?qî?qï)sï)îG�ï)rï)îGXîHîîHîï)î¢ï'îHî!íî#°î%ðî+î+Yî,®î.ßî2Üî5‘î7î9Mî>î?EîAíîFîG3îHqîHqï'î¢ï&î„îîï&uï&î"§ï&rï&�î#Vî$«î'·î'·ï&uï&î*éï&rï&î+Aî-Êî-Êï&uï&î2dï&rï&î2¼î4â î:Ãî=ºî?ë îF²îGðîGðï&î¢ï$‰î/î>�î;î#¯î'Îî-¥î/Öî4î4ï$‰sï$‰î7ï$‰rï$‰î7mî8«î>î?Hî?Hï$‰uï$‰îBzï$‰rï$‰îBÒîG_îG_ï$‰î¢ï"ýî¸ï"ýî¢ï î;îîï uï îÂï rï î î!Xî!Xï sï î#Ýï rï �î$�î%Šî* î0Óî2î6ªî:‡î>„î@“îBVîH+îH+ï î¢ï îiîéî!þî%ûî%ûïuïî*žïrï�î*õïsïî*ûïî¢ï îZï rï î²î"5î$fî'àî*‰î,î.Eî6î:Áî<òîB9îB9ï î¢ïsî#;ïrïî#“î$Ñî'Þî)^î-qî/¢î3âî6âî7:î9ãî?MîCŽ îJîJïî¢ïˆsî'ïˆrïˆ�î×î×ïˆsïˆî ïˆrïˆ�îºîºïˆsïˆî"ïˆrïˆî"nî$¿î&ðî*jî-äî0mî0mïˆsïˆî3Éïˆrïˆ�î4yî4yïˆsïˆ î=¶ïˆrïˆî>î@_îBîFÐîJJîJJïˆî¢ïüîÈî—îoî"Éî'æî)gî*¥î*¥ïüsïüî/¯ïürïü�î0_î4<î6™î8\î=î>”îBPîF‘îHîHïüî¢ïpîÙî î"Ðïpuïpî"Öïpî¢ïŒîïŒrïŒîrî°�îî#>î&Ïî(Þî+ î1Öî6Ñî;1î?îA( îHîH^îH^ïŒî¢ï uî Šï rï î âî" î#ãî)î.Yî/ïî1ýî3ˆî9Sî:Óî=.î@´îBåîG&îHdîHdï î¢ï†î÷î³î î"²î%}î'î)Dî-!ï†sï†î-'ï†î ôï™î;î;ï™uï™î ï™sï™�îàï™rï™î8îî0 î6Fï™ÿ������� N���� êq?€`½«������������������������������������������������������������������������������������������6AppliedtotheinputstreamofanSPPconnection,thisfunctionreturnsthecorrespondingoutputstream.SPP.USER.TIMEOUT[Variable]Specifiesthetime,inmilliseconds,towaitbeforedecidingthatahostisn'tresponding.(SPP.SENDEOMSTREAM)[Function]Transmitsthedatabufferedsofaronthisoutputstream,ifany,withtheEndofMessagebitset.Ifthereisnothingbuffered,sendsazero-lengthpacketwithEndofMessagebitset.(SPP.DSTYPESTREAMDSTYPE)[Function]Accessesthecurrentdatastreamtypeoftheconnection.IfDSTYPEisNIL,returnsthedatastreamtypeofthecurrentpacketbeingread.IfDSTYPEisnon-NIL,setsthedatastreamtypeofallsubsequentpacketssentonthisconnection,untilthenextcalltoSPP.DSTYPE.Sincethisaffectsthecurrentpartially-filledpacket,thestreamshouldprobablybeflushed(viaFORCEOUTPUT)beforethisfunctioniscalled.(SPP.EOMPSTREAM)[Function]ThisfunctionreturnsTorNILdependingonwhetherornotanEndofMessageindicationhasbeenreached.Thisisonlytrueafterthelastbyteofdatainthemessagehasbeenread.Byconvention,EOFPistrueofastreamthatisatEOM.(SPP.CLEAREOMSTREAMNOERRORFLG)[Function]ClearstheEndofMessageindicationonSTREAM.ThisisnecessaryinordertoreadbeyondtheEOM.CausesanerrorifthestreamisnotcurrentlyattheEndofMessage,unlessNOERRORFLGistrue.(SPP.SENDATTENTIONSTREAMATTENTIONBYTE)[Function]SendsanSPP"attention"packet,onewiththeAttentionbitsetandcontainingthesinglebyteofdataATTENTIONBYTE.1.6CourierRemoteProcedureCallProtocolCourieristheXeroxNetworkSystemsRemoteProcedureCallprotocol.ItusestheSequencedPacketProtocolforreliabletransport.Courierusesprocedurecallasametaphorfortheexchangeofarequestfromauserprocessanditspositivereplyfromaserverprocess;exceptionsorerrorconditionsarethemetaphorforanegativereply.Afamilyofremoteproceduresandtheerrorstheycanraiseconstitutearemoteprogram.Aremoteprogramgenerallyrepresentsacompleteservice,suchastheFilingorPrintingprogramsdescribedearlierinthischapter.FormoredetailaboutCourier,thereaderisreferredtothepublishedspecificationoftheCourierprotocol.Thefollowingdocumentationassumessomefamiliaritywiththeprotocol.ItdescribeshowtodefineaCourierprogramanduseittocommunicatewitharemotesystemelementthatimplementsaserverforthatprogram.Thissectiondoesnotdiscusshowtoconstructsuchaserver.1.6.1DefiningCourierProgramsACourierprogramdefinitionisafilepackagetypeandcommand,COURIERPROGRAMS.Thus,youcanuseGETDEF,PUTDEF,andEDITDEFtomanipulatethem,orusethefilepackagecommand(COURIERPROGRAMSname1name2...)tosavethem.ThefunctionCOURIERPROGRAMcanbeusedtodefineaCourierprograminitially.(COURIERPROGRAMNAME...)[NLambdaNoSpreadFunction]ThisfunctionisusedtodefineCourierprograms.Thesyntaxis���î6Fï™î êïførî ôïh„s�î Ëïh„î¢ïbrî¼î<îmî"çî'(î(³î*vî-6 î4Uî6Çî<î@‘îBÂîBÂïbî¢ï`~îcî#£î'ãï`~sï`~î'éï`~î ôï]‘îdï]‘rï]‘î¼îî0 î5äï]‘î¢ï\î+î\î!ªî#*î+î,˜î/bî3î8Þî;}�î<zî?DîB îHöï\sï\îHüï\î ôïYîßîßïYuïYîïYsïY�î„ïYrïYîÜî4î0 î6FïYî¢ïWŒîÐîî!×î'Aî(×î*Ñî,©î/î3[î7ôî9'î;òî>ÝîAîCØîEcîJ·îJ·ïWŒî¢ïV îîÖî.îƒîÝî!î%ÿî+Áî/R�î0O î7Mî;wî>bîA,îB·îHîIùîIùïV î¢ïT†îïT†sïT†î–ïT†î ôïQ™ îîïQ™uïQ™îî¤ïQ™sïQ™�î{ïQ™rïQ™îÓî+î0 î6FïQ™î¢ïP îî<î"Õ î)”î,uî.�î01 î7Oî7§î8üî8üïP uïP î=„ïP rïP î=Üî?î?ïP sïP îAŸïP rïP �îBOîFÒîIîIïP î¢ïN îaî Bî!Íî#þî(—î,Áî0\î3Ÿî3÷î5Lî5LïNuïNî9ÔïNrïNî:,î;jî>)ïNsïNî@®ïNrïN�îA^îA¶îD)îFZîFZïNî¢ïLõ îaî Bî!Íî#Ž î*„î/2î1çî3¿î61 î=Pî@fîB—îExîGÓîISîISïLõî¢ïKrs îïKrrïKr�î·î î#”î&î*&î,Wî0ðî9£î>%î@VîD—îHáîHáïKrî¢ïIæîAîî"²î%:î%:ïIæsïIæ î.wïIærïIæ�î/Hî3gî5Ùî; î<^î@#ïIæsïIæî@)ïIæî ôïFùîZîZïFùuïFùî(ïFùsïFù�îÿïFùrïFùîWî¯î0 î6FïFùî¢ïEmîŒîÓî#Vî#VïEmsïEm�î$-ïEmrïEmî$…î&î&ïEmsïEmî( ïEmrïEmî(øî/Šî1bî6î8î:[î<î>èî@sîEÇîEÇïEmî¢ïCá îÙî î"Nî'–î*€î+¾î.¨î1]î4jî6›î8ìî;Íî=Xî@.îA®îCßîIîIïCáî¢ïB^îéîîZî²î! î(Õî(ÕïB^sïB^î,1ïB^rïB^î,‰î-Çî0|î2�î3î7Eî9äî;"î<î@1ïB^sïB^î@7ïB^î ôï?qî¶î¶ï?quï?qîÊ î"ºï?qsï?q�î#‘ï?qrï?qî#éî$Aî0 î6Fï?qî¢ï=åî«îÜî¦î!1î&… î,¼î.”î.”ï=åuï=åî3bï=årï=å�î4î4iî7Sî8‘î>tî?ôîCyîDùîGåîGåï=åî¢ï<bî[îŒî!ˆî!àî&Mî(î+Sî,†î.·î2øî46î6|î<'î=’î?ÃîBîDîIÄîIÄï<bî¢ï:ßî•î•ï:ßuï:ß î"…ï:ßrï:ßî"Ýî$î&Ïï:ßsï:ßî&Õï:ßî ôï7òîéîéï7òuï7òîýî(Æï7òsï7ò�î)ï7òrï7òî)õî*Mî0 î6Fï7òî¢ï6fîuî8îø î%ìî*nî,ëî/Öî2î7ýî9ëî;Úî>c îDèîGîGï6fî¢ï4ãî]î>îÉî!Ÿî!Ÿï4ãuï4ãî+hï4ãrï4ã�î+¿ï4ãqï4ãî+Åï4ãî ôï/îî\îwîDî(îî"?î'Wï/rï/î']ï/î ôï,îØîîGî:î¼î Îî%Éî,$î.âî4sî4Ëî6î8àî;îAÐîFîFï,î ôï*•î9îHîÿ îîYî!=î$î*Xî,³î.4�î/1î54î7Cî9tî?Aî@Ì�îAÉîFmîI¥�îJ¢îJ¢ï*•î ôï)î¿îbîëî—îzîÓî!�î"î%æî+ î1ˆî3î6a î<Ïî>õîA&îG)îI8�îJ5îJ5ï)î ôï'î1îáî9�î˜î«î6î î%î( î*;î.î0ãî3@î6L î<Y�î=VîAÍîG‚îGÚ�îI9îI9ï'î ôï&îkîÉî~ îÏ�î Ìî&î+/î.1î/²î1ãî5½î7Sî<nîBPîHHîHHï&î ôï$‰îî‡îùî¸ï$‰î ôï!¥îpîÔînîî[îŒî"¡î#ßî(ñî*qî,¢î2Åî:rî;ýî>.îCîH£îHûîHûï!¥î ôï "îî{îªî Çî$+ î*™î-„î/µî5Fî5žî6èî<žî?sî@óîDü�îEùîEùï "î ôïŸîØî6î¿îî.î® î#ìî&×�î'Ôî,Kî0—î5î8< î?r�î@oîDMîF\îHûîHûïŸî ôïî©îîëîVîWîî! î#Þî%^î+î.�î/î2ðïqïî2öïî ôïVî î dîwîÛî¨îPïVrïVîVïVî ôïQ�îSî7î• î«îé�îæî î%1î(î*›î1"î1"ïQsïQî=»ïQrïQ�î>jî>ÂîBhîDðîGMîI”îI”ïQî ôïÅsîþïÅrïÅ�î®î®ïÅsïÅî¸ïÅrïÅ�îhîñîñïÅsïÅîÒïÅrïÅî*îª î&žî*Pî+æî.-î0^î2˜î7©î=Øî=ØïÅî ôï9sî;îEî"Oî%«ï9rï9î&î'ƒî*Yî. î.bî1î6Rî6Rï9sï9 îBï9rï9îBlîDÉîFŒîI™îI™ï9î ôïîtî}�îzî^î¼ î†ïsïîŒïî ôïÀîdîdïÀuïÀî"îôïÀsïÀ�îËïÀrïÀî#î{î0 î6áî=5îBùïÀî¢ï4îŒîÓî î#î$žî(§î-‹î3Äî4î6Åî:Úî;Àï4sï4î;Æï4ÿ������� í���� êq?€`½8��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������7(COURIERPROGRAMNAME(PROGRAMNUMBERVERSIONNUMBER).DEFINITIONS)ThetailDEFINITIONSisapropertylistwherethepropertiesareselectedfromTYPES,PROCEDURES,ERRORSandINHERITS;thevaluesarelistsofpairsoftheform(LABEL.DEFINITION).Thesearedescribedinmoredetailasfollows:TheTYPESsectionliststhesymbolically-definedtypesusedtorepresenttheargumentsandresultsofproceduresanderrorsinthisCourierprogram.Eachelementinthissectionisoftheform(TYPENAMETYPEDEFINITION),e.g.,(PRIORITYINTEGER).TheTYPEDEFINITIONcanbeapredefinedtype(seenextsection),anothertypedefinedinthisTYPESsection,oraqualifiedtypenametakenfromanotherCourierprogram;theselatterarewrittenasadottedpair(PROGRAMNAME.TYPENAME).ThePROCEDURESsectionliststheremoteproceduresdefinedbythisCourierprogram.AproceduredefinitionisastylizedreductionoftheCourierdefinitionsyntaxdefinedintheCourierProtocolspecification:(PROCEDURENAMENUMBERARGUMENTSRETURNSRESULTTYPESREPORTSERRORNAMES)ARGUMENTSisalistoftypenames,oneperargumenttotheremoteprocedure,orNILiftheproceduretakesnoarguments.RESULTTYPESisalistoftypenames,oneforeachvaluetobereturned.ERRORNAMESisalistofnamesoferrorsthatcanberaisedbythisprocedure;eachsucherrormustbelistedintheprogram'sERRORSsection.TheatomsRETURNSandREPORTSarenoisewordstoaidreadability.TheERRORSsectionliststheerrorsthatcanberaisedbyproceduresinthisprogram.Anerrordefinitionisoftheform(ERRORNAMENUMBERARGUMENTS),whereARGUMENTSisalistoftypenames,oneforeachargument,ifany,reportedbytheerror.TheINHERITSsectionisanoptionallistofotherCourierprograms,someofwhosedefinitionsare"inherited"bythisprogram.Morespecifically,ifatype,procedureorerrorreferencedinthecurrentprogramdefinitionisnotdefinedinthisprogram,thesystemsearchesforadefinitionofitineachoftheinheritedprogramsinturn,andusesthefirstsuchdefinitionfound.TheINHERITSsectionisusefulwhendefiningvariantsofagivenCourierprogram.Forexample,ifonewantedtotryoutversion4ofCourierprogramBAR,andversion4differedfromversion3ofprogramBARonlyinasmallnumberofprocedureortypedefinitions,onecoulddefineaprogramNEWBARwithanINHERITSsectionof(BAR)andonlyneedtolistthefewchangeddefinitionsinsideNEWBAR.1.6.2CourierTypeDefinitionsThissectiondescribeshowtheCouriertypesdescribedintheCourierProtocoldocumentareexpressedinaLispCourierprogramdefinition,andhowvaluesofeachtypearerepresented.EachtypeinaCourierprogram'sTYPESsectionmustultimatelybedefinedintermsofoneofthefollowing"base"types,althoughthedefinitioncanbeindirectthrougharbitrarilymanylevels.Thatis,atypecanbedefinedintermsofanyothertypeknownbyanextantCourierdefinition.Thenamesofthebasetypesare"global";theyneednoqualification,nordotypenamesmentionedinthesameCourierprogram.TorefertoatypenotdefinedinthesameCourierprogram(ortoanynon-basetypewhenthereisnoprogramcontext),onewritesaQualified��î;Æï4î êïg,sîI“ïh„�îJjïh„î¢ïb5î$î$ïb5uïb5î'Šïb5sïb5î(a�î)8ïb5uïb5î4ïb5sïb5î4ñî4ñïb5uïb5î?@ïb5sïb5�î@ïb5î¢ï`©îyîPî'�îÕîÕï`©uï`© î"ï`©sï`©�î#gï`©rï`©î#mï`©î¢ï]¼îKîzîzï]¼uï]¼ î#5ï]¼rï]¼î#î$Ë�î%Èî+1î-?î1(î3Y î9î;Ãî@¾îCöîCöï]¼sï]¼îH)ï]¼rï]¼�îHÙîHÙï]¼î¢ï\0s îï\0rï\0�î¸î¸ï\0sï\0î$Âï\0rï\0î%î'£î'£ï\0sï\0î.[ï\0rï\0�î/,î1]î5[î7î:î;žî>Ëî@VîB‡îE¿�îF8ï\0uï\0îJ ï\0rï\0îJbîJbï\0î¢ïZ¤�îQîQïZ¤uïZ¤ î\ïZ¤rïZ¤î„îÜî#®î%Ôî+Ìî-Lî0°î4Jî5Ëî:|ïZ¤î¢ïWÀîKîKïWÀsïWÀî~ïWÀrïWÀîÖî"Aî$Óî'î3 î7î:î;’îA_îCîJ îJ ïWÀî¢ïV4î+îJîÕ î%©î(2î+ùî-yî/ëî4Ïî:„î:Üî>îC%îD¥îGîGïV4î¢ïT±î îKîÖî î#?�î#¸ïT±uïT±î*,ïT±rïT±î*„î*„ïT±uïT± î4‹ïT±rïT±î5´î8gî8gïT±sïT±î@ÍîG…ïT±rïT±�îH4îHŒîHŒïT±î¢ïS%îKîKïS%uïS% î#RïS%rïS%î#ªî&î'Ê�î(Ç î/…î2fî5î7æî="îAüîDÝîI¬îI¬ïS%î¢ïQ¢î"î”î”ïQ¢sïQ¢îÇïQ¢rïQ¢îî#âî%x�î&uî,î2"î5²î8êî=ÄîB¨îHîHïQ¢î¢ïPîüî`î†î$î%‰�î&†î*¥î-N�î-ÇïPuïP î7ïPrïPî7c�î8î8ïPuïPî>†ïPrïPî?\ïPî¢ïM2îKîKïM2sïM2 î!±ïM2rïM2î" î&tî)î+7î/® î6‚î;Qî=î?‘îDuîJ*îJ‚îJ‚ïM2î¢ïK¦�îîQ î$gî%¥�î&¢î+dî1[î2æî5î9û î@îD&îHõîJuîJuïK¦î¢ïJ#îÓî·î"ü î*ÊïJ#sïJ#î*ÐïJ#î¢ïGj�îyïGjuïGjî"ïGjsïGjî"öî"öïGjuïGjî(ïGjsïGjî(ãî(ãïGjuïGjî03ïGjsïGjî09ïGjî¢ïFîyîPî'îþîÕî¬îƒîZî1îîßî&—î&—ïFuïF î.ÕïFsïFî/¬î6dî6dïFuïF î>ˆïFsïF�î?_ïFuïFî?eïFî¢ïC%îòïC%rïC%îJîˆ�î …î"“î$î&ÿî+lî-éî00î6)î7©î9Úî>Q îDùîFîFïC%sïC%îIïC%rïC%îIlîJŸîJŸïC%î¢ïA™îÓî#î"qî$I î+î+uî+uïA™uïA™ î3³ïA™rïA™î4î5I�î6Fî8Tî9ßî<ÀîA-îCªîE¹îH»îH»ïA™î¢ï@îîœî_î# î#xî#xï@uï@ î+œï@rï@î+ôî-2�î./î0=î1Èî5Ýî7hî;/î=Îî@+îAîîEÀîGŽîJ�îJ�ï@î¢ï>“ îkî mî#oî&²î)ëî+®î/'î0§î2Øî9î9ï>“sï>“î>ï>“rï>“î>tîC6îCŽîF7îJ îJ ï>“î¢ï=sîƒï=rï=îÛîdîdï=sï=î%Eï=rï=î%î'Ãî+&î/î0ƒî2¨î9Hï=î¢ï:îKîKï:sï:îUï:rï:îî#î%ªî'Ûî+¢î.Aî0žî2aî63î8 î>Õî@UîBÇîH|îHÔîHÔï:î¢ï8ŽîÇî î" î#^î$éî'î)úï8Žsï8Žî*�ï8Žî¢ï5¡�îyï5¡uï5¡îíï5¡sï5¡îÄîÄï5¡uï5¡î$Úï5¡sï5¡î%±î%±ï5¡uï5¡î-ï5¡sï5¡�î-Øï5¡rï5¡�î.6ï5¡î¢ï2´î‹î‹ï2´uï2´î!Ûï2´rï2´î"3î#q�î$nî&|î(î*èî/Uî1Òî3áî6ãî=4î>gîA2îFîH^îJîJï2´î¢ï11îêï11î¢ï.MîKîKï.Msï.Mî ï.Mrï.Mî [î$Æî&î'Çî,öî/î0î3þî8âî?îB€îDîH îH ï.Mî¢ï,Á î<îb î&lî(:î*¬î0aî0¹î4Iî;rî<¥�î=¢î@ÛîG+îHÁîHÁï,Áî¢ï+>îå î xî!øî$)î(Âî. î46î5tî7ºî<‰î> î@{îF1îHbîHbï+>î¢ï)»îîî !î"0�î#- î)Cî*Îî+öî-vî0xî2î44î9Þî?ÀîA@îDnîF÷îIÂîIÂï)»î¢ï(8îÓî|î~ î$”î(vï(8î¢ï%TîKîKï%Tsï%Tî ï%Trï%Tî [î$Æî&î)ìî-rî2®î7žî9)�î:&î=«îBîHDîHœîHœï%Tî¢ï#Èîî¾îñî"nî'î(‡î*î,Çî1^�î2fî3ñî8Õî>3î>3ï#Èsï#Èî@¸ï#Èrï#È�îAhîCñîHˆ�îIîIï#Èî¢ï"<î¨îàî#w�î$î& î+hî+hï"<sï"<î-íï"<rï"<î.Eî1/î2¯�î3¬î7î<î=¡îCñîE‡îHhîHhï"<î¢ï °î”î î#«î'´�î(±î.î.ï °sï °î3ï °rï °î3qî6\î8î8ï °sï °î>×ï °rï °î?/îCšîE%îE%ï °sï °îIXï °rï °îI°îI°ï °î¢ï$î+îîCî Ãî"Ñî%î'uî,³ î3Mî7î7ï$sï$î<(ï$rï$�î<ï$qï$î<…ï$î ôï^î î dîwîDî‰ îï^rï^îï^î ôïYîÞîIîÿîÔîî éî$Nî*Fî+Æî-÷î2Ûî8 î>Zî@€îFîH�îIîIïYî ôïÖîÞîÂî îŽî î"ìî&êî(uî+wî.Xî0~î8 î8eî;¨î>‰î@ �îAîEêîEêïÖî ôïSî.î.ïSsïSîaïSrïSî¹î$î] î" î$cî)2î*²î.Nî/Ùî2Vî3áî6î;ðî@<îCùîI‚îI‚ïSî ôïÇî% î;î˜î[î4î : î&rî*î-ÿî.Wî1nî3�î4î6âî9?î;î?ÑîAQîDíîFxîHëîHëïÇî ôïDî cîDî™îgî*îî! î'oî'Çî*pî.…î0î2Aî5-î8’î:¸î@‚îCcîF‘îHiîHiïDî ôïÁ îî_î7îî-î#Ôî%Tî'…î*Ôî/¸î5mî5Åî7½î:àî<`�î=]î@>îB„îGSîHÓîHÓïÁî ôï >î%îtîXî¶îÅîEî¸î%cî(Dî+Êî/$î0bî2:î7˜î=î?‰îC[�îDXîDXï >tï >îJîJï >������� ¨���� êq?€`½W������������������������������������������������������������������������������������������������������������������������������������������������������������������������8name,intheform(PROGRAM.TYPE).Ingeneral,aQualifiednameislegalinanyplacethatcallsforaCouriertype.1.6.2.1Pre-definedTypesPre-defined(atomic)typesareexpressedasuppercaselitatomsfromthefollowingset:BOOLEANValuesarerepresentedbyTandNIL.INTEGERValuesarerepresentedassmallintegersintherange[-32768..32767].CARDINALValuesarerepresentedassmallintegersintherange[0..65535].UNSPECIFIEDSameasCARDINAL.LONGINTEGERValuesarerepresentedasFIXP's.LONGCARDINALSameasLONGINTEGER.NotethatInterlisp-Ddoesnot(currently)haveadatatypethattrulyrepresentsa32-bitunsignedinteger.STRINGValuesarerepresentedasLispstrings.Inaddition,thefollowingtypesnotinthedocumenthavebeenaddedforconvenience:TIMERepresentsadateandtimeinaccordancewiththeNetworkTimeStandard.ThevalueisaFIXPsuchasreturnedbythefunctionIDATE,andisencodedasaLONGCARDINAL.NSADDRESSRepresentsanetworkaddress.ThevalueisanobjectoftypeNSADDRESS(sectionX.XX),andisencodedassixitemsoftypeUNSPECIFIED.NSNAMERepresentsathree-partClearinghousename.ThevalueisanobjectoftypeNSNAME(sectionX.XX),andisencodedasthreeitemsoftypeSTRING.NSNAME2Representsatwo-partClearinghousename,i.e.,adomain.ThevalueisanobjectoftypeNSNAME(sectionX.XX),andisencodedastwoitemsoftypeSTRING.1.6.2.2ConstructedTypesConstructedTypesarecompositeobjectsmadeupofelementsofothertypes.TheyareallexpressedasalistwhoseCARnamesthetypeandwhoseremainingelementsgivedetails.Thefollowingareavailable:(ENUMERATION(NAMEINDEX)...(NAMEINDEX))EachNAMEisanarbitrarylitatomorstring;thecorrespondingINDEXisitsCourierencoding(aCARDINAL).ValuesoftypeENUMERATIONarerepresentedasaNAMEfromthelistofchoices.Forexample,avalueoftype(ENUMERATION(UNKNOWN0)(RED1)(BLUE2))mightbethelitatomRED.(SEQUENCETYPE)ASEQUENCEvalueisrepresentedasalist,eachelementbeingoftypeTYPE.ASEQUENCEoflengthzeroisrepresentedasNIL.NotethatthereisnomaximumlengthforaSEQUENCEintheLispimplementationofCourier.(ARRAYLENGTHTYPE)AnARRAYvalueisrepresentedasalistofLENGTHelements,eachoftypeTYPE.(CHOICE(NAMEINDEXTYPE)...(NAMEINDEXTYPE))TheCHOICEtypeallowsonetoselectamongseveraldifferenttypesatruntime;theINDEXisusedintheencodingto��îJï >î êïgtî ôïh„s�î Ëïh„î ôïbtî ïbrïb�î ÁîAîrîª�î#ïbuïbî5�îÁî½ïbrïbîåî =î!ßî&Ú�î'×î-¶î1Gî2…î5›î7î9Žî<òî?‘îBpîD�îE|îJ`îJ`ïbî ôï`kîÔï`kqï`kîÚï`kî ôïZ¥îîlîw îîúïZ¥rïZ¥î�ïZ¥î ôïW î6îrî×îýî"î#î)Èî.Ìî2î45î:î<#ïW sïW î<)ïW î ôïT³îÕïT³rïT³î-î…îÝî¢îíî î$Kî&î&ïT³sïT³�î&ðïT³rïT³î'Hî)Ñî)ÑïT³sïT³î,VïT³rïT³�î,ïT³sïT³î,³ïT³î ôïQÆîÕïQÆrïQÆî-î…îÝî¢îíî î$Kî%Ìî):î.*î/ªî1Ûî5wî>™ïQÆsïQÆî>ŸïQÆî ôïNÙî¬ïNÙrïNÙîî\î´î¢îíî î$Kî%Ìî):î.*î/ªî1Ûî5w î;`ïNÙsïNÙî;fïNÙî ôïKì î1ïKìrïKìî‰îáî9î¢î3î´î´ïKìsïKìî"lïKìrïKì�î"ÃïKìsïKìî"ÉïKìî ôïHÿ î1ïHÿrïHÿî‰îáî9î¢îíî î$Kî%Ìî%ÌïHÿsïHÿî)(ïHÿrïHÿî*[ïHÿsïHÿî*aïHÿî ôïFîïFrïFî`î¸îî¢î3î´î´ïFsïF î$ñïFrïF�î% î%øî)?î+Þ î2¼î5½î8 î> îA¸�îBµîHîJ³îJ³ïFî¢ïD†îÄ î �î!î$Ùî$ÙïD†tïD†î)ñïD†rïD†î*Iî.´ïD†sïD†î.ºïD†î ôïAîþïArïAîVî®îî¢îíî î$Kî%Ìî(¶î,åïAî ôï>¢î–î)îZî8îîãî cî"”î(Îî+æî/î3î5î<Ñï>¢sï>¢î<×ï>¢î ôï;µî Pï;µrï;µî ¨î�îXî¢ îw�îtî!Jî#Óî&Éî(I î/(î2î4Dî9Æî=4îC7îCîF8îI²îI²ï;µî¢ï:)îà�îÝîÝï:)sï:)î9ï:)rï:)î‘î“î!î&~î(Lî*}î/Äî/Äï:)sï:)î3÷ï:)rï:)�î4§î70î8nî=¶î?7�î@4î@4ï:)î¢ï8sî ¶ï8rï8�î! ï8sï8î!ï8î ôï5°îƒï5°rï5°îÛî3î‹î¢ îw�îtî#šî(«î)î+¬î/&î0dî2'î6î7™î:zî:zï5°sï5°îB ï5°rï5°îBaîGEîGEï5°î¢ï4$î:îÃîî$Iî%Êî'¸î+2î,½î/žî/žï4$sï4$ î8Ûï4$rï4$�î92ï4$sï4$î98ï4$î ôï17îþï17rï17îVî®îî¢ îw�ît î$¤î-pî1Xî1°î4Yî7Óî9î:Ôî>»î@FîC'îC'ï17sï17îH1ï17rï17îH‰îH‰ï17î¢ï/«î†î î"§î#åî)-î*®î.î1‚î3 î5îî5îï/«sï/«î:øï/«rï/«�î;Oï/«sï/«î;Uï/«î ôï,¾îÕï,¾rï,¾î-î…îÝî¢ îw�îtî#Çî,“î0|î2á�î3Þî9î9[î<î?~î@¼îBîFfîGñîGñï,¾î¢ï+2îƒîƒï+2sï+2îï+2rï+2îåî#Éî(aî*êî,(î1pî2ñî5nî8èî:sî=Tî=Tï+2sï+2îB^ï+2rï+2�îBµï+2qï+2îB»ï+2î ôï%lîîlîw îíîhï%lrï%lînï%lî ôï"g îxîUî{îÉî"4î%Åî'©î)4î.¾î0Iî3¸î7tî7Ìî;%î=Kî?îEîFœ�îG™îI§îI§ï"gî ôï äî òî òï äsï äîwï ärï äîÏîäîîöîî }î&Ìî,Vî/î3Šî3âî6‹î<iî> îD8ï äsï äîD>ï äî ôï÷îß�î¶ï÷uï÷îtî3ï÷sï÷�îáî"=�î#ï÷uï÷î&Òî*‘ï÷sï÷î,?ï÷rï÷î,—î,ïî-Gî/)î2lî2lï÷uï÷î5äï÷rï÷î6<î7zî9=î>±îC1îDÇîHæîHæï÷î¢ïkîÓî!”î!”ïkuïkî%Sïkrïkî%«î&éî(•î-yî3.î4¤î4¤ïksïkî;\ïkrïkî<„î<ÜîA'îB²îE“îE“ïkî¢ïßs îßïßrïßî 7î"] î)•î+�î,î,ïßuïßî/‹ïßrïßî/ãî3î5Lî7Zî8åî=Óî>+î@§îFG�îGDîJ¾îJ¾ïßî¢ïSî-îîïSsïSî%ùî-ˆî0 î4@î6Åî;Ïî>TïSrïSî>¬îBsîD6îFgîFgïSî¢ïÇî"î"ïÇsïÇî§ïÇrïÇ�îþïÇsïÇîïÇî ôïÚîZîZïÚuïÚîVïÚsïÚ�î-ïÚrïÚî…îÝî5îÖ�î5î5ïÚsïÚî íïÚrïÚî!Eî$¿î%ý î-5î.¶�î/³î2î5î:!î=¼î?GîB(îB(ïÚuïÚîE$ïÚrïÚ�îEÓîF+�îGŠîGŠïÚî¢ïNsîZïNrïNî²î=î#Fî&î'X î.î0î0ïNsïNî2–ïNrïN�î3Eî3î6äî9ƒî<Ýî>î?óîFCîJLîJLïNî¢ïÂî±�î®î®ïÂsïÂî fïÂrïÂî ¾î">î$oî'Y î1�î2‹î7nïÂsïÂî7tïÂî ôïÕîÕîÕïÕuïÕîëîçïÕsïÕ�î¾ïÕrïÕîînîÆîQîvîvïÕsïÕî!©ïÕrïÕî"î%{î&¹ î-ñî/r�î0oî2}î4î4ïÕuïÕî8ØïÕrïÕî90î?îBîCŸîF€îF€ïÕuïÕîI|ïÕrïÕ�îIÓïÕsïÕîIÙïÕî ôïèî¬�îƒïèuïèîAîFîBïèsïè�îðî!L�î"#ïèuïèî%áî)æî,âïèsïèî.ïèrïèî.èî/@î/˜î1¤î4Mî4Mïèsïèî9Wïèrïèî9¯î<î@ŒîC îD‰îHîHïèî¢ï \îøîYî$Íî(2î)î/î1Mî1Mï \uï \î5ï \rï \î5dî6¢î9¯î;/î=`îCîD•îD•ï \ÿ����������� êq?€`½������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9distinguishthevaluetypes.AvalueoftypeCHOICEisrepresentedinLispasalistoftwoelements,(NAMEVALUE).Forexample,avalueoftype(CHOICE(STATUS0(ENUMERATION(BUSY0)(COMPLETE1)))(MESSAGE1STRING))couldbe(STATUSCOMPLETE)or(MESSAGE"Outofpaper.").(RECORD(FIELDNAMETYPE)...(FIELDNAMETYPE))ValuesoftypeRECORDarerepresentedaslists,withoneelementforeachfieldoftherecord.Thefieldnamesarenotpartofthevalue,butareincludedfordocumentationpurposes.Forprogrammerconvenience,therearetwomacrosthatallowCourierrecordstobeconstructedanddissectedinamannersimilartoLisprecords.ThesecompileintotheappropriatecompositesofCONS,CARandCDR.(COURIER.CREATETYPEFIELDNAME_VALUE...FIELDNAME_VALUE)[Macro]CreatesavalueoftypeTYPE,whichshouldbeafully-qualifiedtypenamethatdesignatesaRECORDtype,e.g.,(MAILTRANSPORT.POSTMARK).EachFIELDNAMEshouldcorrespondtoafieldoftherecord,andallfieldsmustbeincluded.EachVALUEisevaluated;allotherargumentsarenot.Theassignmentarrowsareforreadability,andareoptional.(COURIER.FETCHTYPEFIELDOBJECT)[Macro]AnalogoustotheRecordPackageoperatorfetch.ArgumentTYPEisaswithCOURIER.CREATE;FIELDisthenameofoneofitsfields.COURIER.FETCHextractstheindicatedfieldfromOBJECT.Forreadability,thenoiseword"of"maybeinsertedbetweenFIELDandOBJECT.OnlytheargumentOBJECTisevaluated.Forexample,iftheprogramCLEARINGHOUSEhasatypedeclaration(USERDATA.VALUE(RECORD(LAST.NAME.INDEXCARDINAL)(FILE.SERVICESTRING))),thentheexpression(SETQINFO(COURIER.CREATE(CLEARINGHOUSE.USERDATA.VALUE)LAST.NAME.INDEX_12FILE.SERVICE_"Phylex:PARC:Xerox")wouldsetthevariableINFOtothelist(12"Phylex:PARC:Xerox").Theexpression(COURIER.FETCH(CLEARINGHOUSE.USERDATA.VALUE)FILE.SERVICEofINFO)wouldproduce"Phylex:PARC:Xerox".1.6.2.3UserExtensionstotheTypeLanguageTheprogrammercanaddnewbasetypestotheCourierlanguagebytellingthesystemhowtoreadandwritevaluesofthattype.Theprogrammerchoosesanameforthetype,andgivesthenameaCOURIERDEFproperty.Thenewnamecanthenbeusedanywherethatthetypenameslistedintheprevioussections,suchasCARDINAL,canbeused.Suchextensionsareusefulforuser-definedobjects,suchasdatatypes,thatarenotnaturallyrepresentedbyanypredefinedorconstructedtype.TheNSADDRESSandNSNAMECouriertypesaredefinedbythismechanism.COURIERDEF[PropertyName]TheformatoftheCOURIERDEFpropertyisalistofuptofourelements,(READFNWRITEFNLENGTHFNWRITEREPFN).Thefirsttwoelementsarerequired;ifthelattertwoareomitted,thesystemwillsimulatethemasneeded.Theelementsareasfollows:���îD•ï \î êïførîI“ïh„s�îJjïh„î¢ïbr î^îî# î&Åî'�î(|î+öî-î0bî0bïbsïbî5lïbrïbî5Äî7 î>:î?ºîB¤îD%�îE"îG0îH»îH»ïbî¢ï`uîî�îzï`uuï`uî"òï`urï`uî#Jî#Jï`uuï`uî'>ï`urï`uî(fî(¾î+:î0Ú�î1×î5Qî6Üî9½î9½ï`usï`uî9Ãï`uî¢ï]¼îZî$�î%Àî0«î5µî8:î@ îDÓîDÙï]¼î¢ï\0îyîPî'îþîÕî¬îƒîZî$é�î&—î-Oï\0rï\0î-Uï\0î¢ïYCî<îÿîÿïYCsïYCî"·î*FïYCrïYCî*žî,4î,4ïYCsïYCî3Ãî7öî:{îA3ïYCrïYC�îAŠïYCsïYCîAïYCî ôïVVî¬�îƒïVVuïVVîÌîÈïVVsïVV�îvî Ò�î!©ïVVuïVVî(òî+îïVVsïVVî-œïVVrïVVî-ôî.Lî.¤î/)î3tî4ÿî7àî7àïVVsïVVî<êïVVrïVVî=Bî?h îF îH!îH!ïVVî¢ïTÊîŒîwîôî#úî& î)î,î-–î/Çî4=î4•î7>î:>î>Sî@yîB¿îEtîFÿîI0îI0ïTÊî¢ïSGîtîÆîìî$_î&nî/î57ïSGî ôïPcîp î îîkî!‘î$î(î+/î.§î3‹î8.î9®î;q îB’îEîJ»îJ»ïPcî ôïNàît�îqîLî î î îî\î#.î(2î*Úî- î46 î;î<“î<“ïNàsïNàî?ïïNàrïNà�î@Ÿî@ŸïNàsïNàîC$ïNàrïNàîC|îFîFïNàsïNàîHŠïNàrïNà�îHáïNàsïNàîHçïNàî ôïKóîdîdïKóuïKóî¦î!ï�î"ïî')î(Aî/Š�î0Šî4~ïKósïKó�î5UïKórïKóî5î6î6šî;6ïKóî¢ïJgî\�îYîÓî!^î$?î$?ïJguïJgî';ïJgrïJg�î'ëî+Èî0î1Õ�î2Òî;‘î>rîBîD¢îD¢ïJgî¢ïHä îý�îúîúïHäsïHäî#ïHärïHäî#\î&•î)Hî)HïHäsïHä î5á�î7î?ïHärïHä�î?Íî@%îChîChïHäî¢ïGXuî¥ïGXrïGXîýî"G î)0î*°�î+î.î08î2iî6àî9iî;*î>®îAçîCªîItîIÌîIÌïGXî¢ïEÕîåîåïEÕuïEÕîÙïEÕrïEÕî1îo î%àî'¡î+î1î3³î6Pî6¨î9Q î@0îDpîF–îH¥îH¥ïEÕî¢ïDRî•î î"Dî'rïDRsïDRî'xïDRî ôïAe îîïAeuïAeîÏî î!ýïAesïAe�î"ÔïAerïAeî#,î#„î0 î4¼ïAeî¢ï?Ùî<î¼î íî%î*¬î/þî/þï?Ùsï?Ùî41ï?Ùrï?Ù�î4àî58î;“î;“ï?Ùuï?Ùî>ï?Ùrï?Ùî>çî@%îA¦îD‘îD‘ï?Ùî¢ï>Ms î"dï>Mrï>M�î#5î#5ï>Muï>Mî&Àï>Mrï>Mî'î(Vî*‡î.î/£î2 î3«î5Wî92î9Šî9Šï>Msï>MîDuï>Mrï>MîDÍîIîIï>Mî¢ï<ÁîÓî“î!“î$Ëî$Ëï<Áuï<Áî)(ï<Árï<Á�î)×î*/î,«î3žî5Ïî<3�î<ãï<Ásï<Áî>‘ï<Árï<Á�î?™îBoîD2îI8îI8ï<Áî¢ï;5îàîàï;5uï;5îkï;5rï;5îÃî"Lî"Lï;5uï;5î&©ï;5rï;5�î'Xî'°î*òî-#î3î3ï;5uï;5î7yï;5rï;5î7Ñî9 î?ï;5î ôï8QîpîîCîtîÒîÒï8Qsï8Qî%½ï8Qrï8Qî&î(\�î)Yî,: î2¿ï8Qsï8Qî2Åï8Qî ôï5˜îdîî,cî3øï5˜î ôï4î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîî)Þ î2Dï4rï4î2Jï4î ôï1îëî îJï1sï1îPï1î ôï.fîþî1î ¡ î-:�î.èî;‡ï.fî ôï-î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îî&‚�î(0î)äï-î ôï+‚î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îî#ý�î%«î6wï+‚rï+‚î6}ï+‚î ôï(•î ñîàîîîï(•sï(•îrï(•rï(•îÊîJî{î ‰î ‰ï(•sï(•î#åî4±ï(•rï(•�î5`î5¸î8a î>ï(•sï(•î>•ï(•î ôï%¨ î î#&�î$Ôî2Dî=/î?´îCçï%¨rï%¨îCíï%¨î ôï"»î ñîîï"»sï"»î# ï"»rï"»�î#dï"»qï"»î#jï"»î ôïõîîlîwî˜ îZîåîî Zî&ïõrïõî&ïõî ôïðî îMîªî3îóîßî"Dî#Äî%õî*Ùî0nî2<î6Cî8tî<Àî?•îAîDîFŠîIØîIØïðî ôïmî òî}îîTî¬îU î î$Þ�î%Ûî)lî+{î-¬î0åî3nî6±î8âî<s�î=pî=pïmsïm îEÖïmrïmîF.îF.ïmî ôïáî´îîµîuîîcîZî î#*î).î+Íî-þî0ßî4ôî8mî9íî<îA{îFÂîIÄîIÄïáî ôï^îuîuï^sï^î-ï^rï^�îÝî:îýîaî¹îý î$mî&“î*{î,Šî4Eî9î< î=‹ îCÆîFeîH‹îH‹ï^î ôïÒî:îÎ îîÔîG î$î%› î,¼î/ôî0Lî2õî2õïÒsïÒî:„ïÒrïÒî:Üî=eî=eïÒsïÒîBoïÒrïÒîBÇîG«îG«ïÒî ôïFî YîîNîîŽ îïFsïFî“ïFî ôïY îZïYrïYî²î î0 î5öî9óïYî¢ï ÍîKî–î!î!Rî!Rï Ísï Í î)¸ï Írï Íî*î/yî0·�î1´î3Âî5Mî71î8±î;†îAh�îAáï Íuï ÍîFåîFåï Íî¢ïAîMî"ï î*˜ïArïAî+Àî,î.Áî1jî3çî9qî;—îAnîB¡îDÒîH6îJ³îJ³ïAî¢ï ¾îÈîî 5î$î&üî,Cî/î1î6î6fî9î>™î@¿îB@îFëï ¾uï ¾îFñï ¾ÿ������� M���� êq?€`½Í��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������10READFNThisisafunctionofthreearguments,(STREAMPROGRAMTYPE).ThefunctioniscalledbyCourierwhenitneedstoreadavalueofthistypefromSTREAMaspartofaCouriertransaction.ThefunctionreadsandreturnsthevaluefromSTREAM,possiblyusingsomeofthefunctionsdescribedinsectionX.XX.PROGRAMandTYPEarethenameoftheCourierprogramandthetype.Inthecaseofatomictypes,TYPEisalitatom,andisprovidedfortypediscriminationincasetheprogrammerhassuppliedasinglereadingfunctionforseveraldifferenttypes.Inthecaseofconstructedtypes,TYPEisalist,CARofwhichisthetypename.WRITEFNThisisafunctionoffourarguments,(STREAMVALUEPROGRAMTYPE).ThefunctioniscalledbyCourierwhenitneedstowriteVALUEtoSTREAM.PROGRAMandTYPEareaswiththereadingfunction.ThefunctionshouldwriteVALUEonSTREAM.Theresultreturnedfromthisfunctionisignored.LENGTHFNThisfunctioniscalledwhenCourierwantstowriteavalueofthistypeintheform(SEQUENCEUNSPECIFIED),andthenonlyiftheWRITEREPFNisomitted.Thefunctionisofthreearguments,(VALUEPROGRAMTYPE).Itshouldreturn,asaninteger,thenumberof16-bitwordsthattheWRITEFNwouldrequiretowriteoutthisvalue.Ifvaluesofthistypeareallthesamelength,theLENGTHFNcanbeasimpleintegerinsteadofafunction.SeediscussionofCOURIER.WRITE.SEQUENCE.UNSPECIFIED(sectionX.XX.WRITEREPFNThisfunctioniscalledwhenCourierwantstowriteavalueofthistypeintheform(SEQUENCEUNSPECIFIED).ThefunctiontakesthesameargumentsastheWRITEFN,butmustwritethevaluetothestreamprecededbyitslength.Ifthisfunctionisomitted,CourierinvokestheLENGTHFNtofindouthowlongthevalueis,andtheninvokestheWRITEFN.IftheLENGTHFNisomitted,CourierinvokestheWRITEFNonascratchstreamtofindouthowlongthevalueis.1.6.3PerformingCourierTransactionsThenormaluseofCourieristoopenaconnectionwitharemotesystemelementusingCOURIER.OPEN,performoneormoreremoteprocedurecallsusingCOURIER.CALL,thenclosetheconnectionwithCLOSEF.(COURIER.OPENHOSTNAMESERVERTYPENOERRORFLGNAMEWHENCLOSEDFN)[Function]OpensaCourierconnectiontotheCouriersocketonHOST,andreturnsanSPPstreamthatcanbepassedtoCOURIER.CALL.HOSTcanbeanNSaddress,orasymbolicClearinghousenameintheformofastring,litatomorNSNAME.Inthecaseofasymbolicname,SERVERTYPEspecifiestheClearinghousepropertyunderwhichtheserver'saddressmaybefound;normally,thisisNIL,inwhichcasetheADDRESS.LISTpropertyisused.IfNOERRORFLGistrue,NILisreturnedifaconnectioncannotbemade,ortheserversupportsthewrongversionofCourier.TheCourierconnectionprocessisnamedNAME,ifspecified.WHENCLOSEDFNisafunctionofoneargument,theCourierstream,thatwillbecalledwhentheconnectionisclosed,eitherbyuserorserver.(COURIER.CALLSTREAMPROGRAMPROCEDUREARG1...ARGNNOERRORFLG)[NoSpreadFunction]ThisfunctioncallstheremoteprocedurePROCEDUREoftheCourierprogramPROGRAM.STREAMisthestreamreturnedbyCOURIER.OPEN.TheargumentsshouldbeLispvaluesappropriatefortheCouriertypesofthecorrespondingformalparametersoftheprocedure.Theremustbethesamenumberofactualandformalarguments.Ifthe��îFñï ¾î êïgDuî ôïh„sî¢ïh„î¢ïbuî`ïbrïbî¸îîhî Ôî#¾î$ü�î%ùî+@î,Ëî0% î6ú�î7sïbuïbî<‡îB™îE•ïbrïbîF½îGîI¾îI¾ïbî Ôï`~î&î'Yî+î,íî1Ñî5Wî6î:1î;±î>�î?šîCîDŸîGîIòîIòï`~î Ôï^ûî$î$ï^ûuï^ûî(Úï^ûrï^ûî)2î*³î-hî.ó�î/ðî4Ôî;óî<Kî>ôîD;îG«îJ4îJ4ï^ûî Ôï]xî%Wî'ˆî+î.:î.:ï]xuï]xî3ï]xrï]x�î3¸î8Òî<Lî?°îA;îClîI7îI7ï]xî Ôï[õî&Ìî(Lî,·î0Õî1-î1-ï[õuï[õî6ùï[õrï[õî7Qî9Úî9Úï[õuï[õî<Öï[õrï[õî=.î?TîA…îEîF¡îHÒîHÒï[õî ÔïZrî%¸î+î-Ÿî/Ðî3î3`î5î73î9óî;~î?ÈîC…îC…ïZruïZrîFïZrrïZrîFÙîH�îIîIïZrî ÔïXïî%¬î(5î)sî/î1!î4 î<Ìî>LîAîC=îC=ïXïî ÔïWl î(„î*Ëî0(�î1%î4àî9¤î>ëî@úîE[îE[ïWlî ÔïUéî&Hî*î*\î+þî./î0ïî2z î9›î=Xî=XïUéuïUéî@TïUérïUéî@¬îAê�îBçîEMîEMïUésïUéîGÒïUérïUéîH*îIµîIµïUéî ÔïT]î$±î%ïî( î+î.‘ïT]uïT]î.—ïT]î¢ïQyîïQyrïQyî_î·îî Ôî#¾î$ü�î%ùî+@î,Ëî/ î6u�î6îïQyuïQyî<î@<îFNîIJïQyrïQyîJrîJÊîJÊïQyî ÔïOöî#}î(Äî*î-Èî/–î4zî8�î9(î<Úî>ZîA¨îA¨ïOöuïOöîEœïOörïOöîEôîGtîGtïOöî ÔïNsuî%¢ïNsrïNs�î&Qî&QïNsuïNsî,ïNsrïNsî,uî.þî.þïNsuïNsî1úïNsrïNsî2Rî4xî5ùî8äî;î?ÙîEwîEÏîHxîHxïNsî ÔïLðî&î*eî-³î-³ïLðuïLðî1§ïLðrïLðî1ÿî3×î3×ïLðuïLðî8¥ïLðrïLð�î9Tî9¬î<Uî?ðîEZîH’îH’ïLðî ÔïKmî#Fî(î)Ëî.£ïKmuïKmî.©ïKmî¢ïH‰îþïH‰rïH‰îVî®îî Ôî#¾î)î*Cî. î1î6sî:%î;¥î>ó�î?ðîCjîDõîGgîJHîJHïH‰î ÔïGî"Tî$…î'½î'½ïGsïGî0#î:7ïGrïG�î:çî=pî@gîCQîD„îFµîFµïGî ÔïEzu î(}ïEzrïEzî(Õî*î/Nî/¦î2Oî7–î8Ôî:_î=¹ îDŽ�îEïEzuïEzîIAîIAïEzî ÔïC÷î&æî)âïC÷rïC÷î+ î+bî,¬î0öî5Mî6Îî8‘î=Uî?†îD‚îF îIÔîIÔïC÷î ÔïBtî$±î'Pî)î)ïBtuïBtî.æïBtrïBtî/>î3;î7Óî9Sî<¡î>çîAYîE*îE‚îF×îF×ïBtî Ôï@ñî$Òî&]î(Ïî+°î-Öî/—î1Èî5î9xî;©î;©ï@ñuï@ñîBï@ñrï@ñîB]îDºîF}�îGzîGzï@ñî Ôï?nî%î)tî-öî/�î0~î6î6tî8Ü î?*î@µî@µï?nî Ôï=ësð"î=bï=ërï=ëî=ºîBžîFdï=ëuï=ëîFjï=ëî¢ï:þ îKï:þrï:þî£îûîSî Ôî#¾î)î*Cî. î1î6sî:%î;¥î>ó�î?ðîCjîDõîGgîJHîJHï:þî Ôï9{î"Tî$…î'½î'½ï9{sï9{î0#î:7ï9{rï9{�î:æî;>î=çîC.îF|îHîHï9{î Ôï7ïî$#î* î,!î.Rî.Rï7ïuï7ïî3·ï7ïrï7ï�î4gî6¹î9òî=@î?qîBëîDkîFœîFœï7ïî Ôï6lî%î*Ìî,šî.Fî2¦î2þî4Sî6Åî<î=JîB†îGjîGjï6lî Ôï4éî%¡î'Òî'Òï4éuï4éî..ï4érï4éî.†î0î2Åî5î7àî:Êî<ûî@uîBîD”îG‹îG‹ï4éî Ôï3fî%¡î'Òî'Òï3fuï3fî-7ï3frï3f�î-æî.>î/“î1Äî1Äï3fuï3fî8 ï3frï3fî8xî9¶î>òîCÖîH£îH£ï3fî Ôï1ãî#î#ï1ãuï1ãî(jï1ãrï1ãî(Âî*š�î+—î0î4Eî5Åî8„î:Êî=Ÿî@‰îBºîF4îGqï1ãqï1ãîGwï1ãî ôï,î î dîw îgî4î"Õï,rï,î"Ûï,î ôï)îî)îpîûîßîîîà�î Ý î'¤î*�î+Œî0î4Oî9Uî<Ïî<Ïï)sï)îFãï)rï)�îG“îG“ï)î ôï'Œîî˜î.î’î î!Yî$8î'²î'²ï'Œsï'Œî1Æï'Œrï'Œ�î2vî5mî8¤î:Õ îAœîD‡îD‡ï'Œsï'ŒîI‘ï'Œrï'Œ�îIèï'Œsï'ŒîIîï'Œî ôï$Ÿî¶î¶ï$Ÿuï$Ÿî¦ î$z î,°î0nî:Vï$Ÿsï$Ÿ�î;-ï$Ÿrï$Ÿî;…î;Ýî@† îF¬ï$Ÿî¢ï#îÁ�î¾î ¢ î'iî(éî+î/þî3ûî5Óî5Óï#uï#î9ï#rï#�î9µî<>î@ÁîB„îEDîI…îI…ï#î¢ï!îAîžîaî!—î#î#ï!sï!î-+ï!rï!�î-Úî.2î.2ï!uï!î1dï!rï!î1¼î4î5Üî7Ÿî9ßî>ñî@‡�îA„îGîGï!î¢ï înî"ÿî$î&°î)èî+s�î,pî0nî4îî6„î6„ï sï î;Žï rï �î<=î<•î>7î@hîC(îD³�îE°îE°ï î¢ïxî5î î ïxuïx î'¬ïxrïxî(î-Kî/|î8Hî=±îA„îEaîG’îG’ïxî¢ïõî\î î"ìî$¯î)î.ûî1mî2«î2«ïõsïõî50ïõrïõ�î5àî7`î;=î=ýî@.î@.ïõsïõîJBïõrïõîJšîJšïõî¢ïiîîIî î!î"Zî"Zïiuïi î*Jïirïiî*¢î+àî.íî.íïisïiî1rïirïiî1Êî3î8rî9¥�î:¢ îAiîE´îGwîGwïiî¢ïÝî‹î!îRî"0î'Žî)¿î-Èî2_î3êî9%î9}î<&îA îGÑîGÑïÝî¢ïZîEîƒî Úî ÚïZuïZî$RïZrïZ�î%î&5 î,î,mî,mïZuïZî6UïZrïZî6î7ë�î8èî>/î?ºîB7îHˆîJ¹îJ¹ïZî¢ï×î†î î"¾î%9î&üî*Âî.Hî0y î7@î8~î<Óî@îB]îE(îF¾îF¾ï×î¢ïTîïTsïTî…ïTî ôïgî¶î¶ïguïgîÊî Üî(Pî*®ïgï·�î+;ïgïgî+î,™î.÷ïgï·�î/Óïgïgî0 î8 ïgsïg�î8àïgrïgî98î9î;îBFîH ïgî¢ï5îŒîÓî!²î#ãî(Zî.ªî.ªï5uï5î5Øï5rï5î60î7»î9ìî>ÐîD.îD.ï5uï5îIúï5rï5�îJ©îKîKï5î¢ï²uîpï²rï²îÈîî7î#xî(âî*°î*°ï²sï²î4Äï²rï²�î5sî5Ëî8tî>ñîC;îDþîGèîGèï²î¢ï &î î!Ëî#Úî&î*ïî.Tî/ßî2î:Ñî? îEåîGpîI¡îI¡ï &î¢ï£ îIî¡î!sî$¬î&oî( î+ïî0ëî2vî6Hî8Ñî= îCäîD<îE‘îGÂîGÂï£ÿ����������� êq?€`½����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������11procedurecallissuccessful,Courierreturnstheresult(s)ofthecallasspecifiedintheRETURNSsectionoftheproceduredefinition.Ifthereisonlyasingleresult,itisreturneddirectly,otherwisealistofresultsisreturned.ProceduresthattakeaBulkDataargument(sourceorsink)aretreatedspecially;seesectionX.XX.Iftheprocedurecallresultsinanerror,oneofthreepossiblecoursesisavailable.ThedefaultbehavioristocauseaLisperror.Tosuppresstheerror,anoptionalkeywordcanbeappendedtotheargumentlist,asifanextraargument.ThisNOERRORFLGargumentcanbetheatomNOERROR,inwhichcaseNILisreturnedastheresultofthecall.IfNOERRORFLGisRETURNERRORS,theresultofthecallisalist(ERRORERRORNAME.ERRORARGS).IfthefailurewasaCourierReject,ratherthanError,thenERRORNAMEistheatomREJECT.Examples:(COURIERPROGRAMPERSONNEL(171)TYPES((PERSON.NAME(RECORD(FIRST.NAMESTRING)(MIDDLEMIDDLE.PART)(LAST.NAMESTRING)))(MIDDLE.PART(CHOICE(NAME0STRING)(INITIAL1STRING)))(BIRTHDAY(RECORD(YEARCARDINAL)(MONTHSTRING)(DAYCARDINAL))))PROCEDURES((GETBIRTHDAY3(PERSON.NAME)RETURNS(BIRTHDAY)REPORTS(NO.SUCH.PERSON)))ERRORS((NO.SUCH.PERSON1)))ThisexpressiondefinesPERSONNELtobeCourierprogramnumber17,versionnumber1.Theexampledefinesthreetypes,PERSON.NAME,MIDDLE.PARTandBIRTHDAY,andoneprocedure,GETBIRTHDAY,whoseprocedurenumberis3.ThefollowingcodecouldbeusedtocalltheremoteGETBIRTHDAYprocedureonthehostwithaddressHOSTADDRESS.(SETQSTREAM(COURIER.OPENHOSTADDRESS))(PROG1(COURIER.CALLSTREAM'PERSONNEL'GETBIRTHDAY(COURIER.CREATE(PERSONNEL.BIRTHDAY)FIRST.NAME_"Eric"MIDDLE_'(INITIAL"C")LAST.NAME_"Cooper"))(CLOSEFSTREAM))COURIER.CALLinthisexamplemightreturnavaluesuchas(1959"January"10).1.6.3.1ExpeditedProcedureCallSomeCourierserverssupport"ExpeditedProcedureCall",whichisawayofperformingasingleCouriertransactionbyaPacketExchangeprotocol,ratherthangoingtotheexpenseofsettingupafullCourierconnection.Expeditedcallsmusthavenobulkdataarguments,andtheirargumentsandresultsmusteachfitintoasinglepacket.(COURIER.EXPEDITED.CALLADDRESSSOCKET#PROGRAMPROCEDUREARG1...ARGNNOERRORFLG)[NoSpreadFunction]��îGÂï£î êïførîH¼ïh„sîJjïh„î¢ïbrîòîMî ‹ î'î+ëî0nî2Ÿî7°î9;î;lî=Çî?HîDÑîFQîH‚îH‚ïbî¢ï`~sîƒï`~rï`~îÛî!Fî"Ñî%î+R î1¿î2î3lî6Æî8î:î�î;ëî?¦îC™îDÁîEÿîEÿï`~î¢ï^òîî!'î'�î(î*)î+´î/Óî1î6€ï^òî¢ï\ îî î"ê�î#çî'î*5î0.î4Æî6\î9“î;¹î@& îEûîH!îH!ï\î¢ïZ‹î îÙïZ‹î¢ïW§î÷î(î xî"Óî&òî(rî*5î-Ðî0Mî1Øî52î:Aî>äî@" îFîFYîIîIïW§î¢ïV$îî —î!Õî#Uî&Û�î'Øî*Âî.\î.´î0¬î6î8<î;×î=šîBÉîH1îJŽîJŽïV$î¢ïT¡îeîŠî î";î(4î*šî,î-Nî/î2Uî8¥î8ýî;çî;çïT¡uïT¡ îC×ïT¡rïT¡îD/îJ(îJ(ïT¡î¢ïSîÿîÂîóî Aî AïSsïSî&"ïSrïS�î&Òî(Rî,/î.ïî.ïïSsïSî1tïSrïSî1Ìî3 î8tî9õî<&î?ÁîALîC}îF/îF‡îGÜîGÜïSî¢ïQ’u î’ïQ’rïQ’îêî (î (ïQ’sïQ’î*<ïQ’rïQ’�î*ìî-î0¸î2Cî4tî6Ïî8 �î9 î;î;ïQ’sïQ’î@ùî@ùïQ’uïQ’îH³�îI?îI?ïQ’î¢ïPî¬ïPsïP�îƒïPrïP�î2îŠî ßî#î'9î)·�î*´î/˜î4î7âî:Ùî>µîA¬îA¬ïPuïPîI ïPrïPîIxîJ¶îJ¶ïPî¢ïNzîÓî!î!ïNzsïNzî!+ïNzrïNz�î!ˆïNzî ôïKî"ïKsïKî(ïKî ôïHÔîdîÊî#&î$ÚïHÔî ôïG|î Ëî¢îyî²ïG|î ôïF$î Ëî¢îyî;îó î)î/¿î/ÅïF$î ôïDÌî Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîîóî%«î/ÅïDÌî ôïCtî Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîîó î(0î/ÅïCtî ôïBî Ëî¢îyî Pî;îóî#ý�î%«î+’ïBî ôï@Äî Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîîóî&‚�î(0î/Åï@Äî ôï?lî Ëî¢îyî Pî¶înî!xî)Þî)äï?lî ôï>î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înî"Oî(6ï>î ôï<¼î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înî ¡î*»ï<¼î ôï;dî Ëî¢îy îåï;dî ôï:î Ëî¢îyî;�îéî$Úï:î ôï8´î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîÀ î#ýî*µî9Ùï8´î ôï7\î Ëî¢îyî‰ï7\î ôï6î Ëî¢îyîÀîKï6î ôï4x�î Ëï4xrï4xî Ñï4xî ôï1‹îÞ îdîñîñï1‹sï1‹î€ï1‹rï1‹îØî!Xî#î'ÿî-]î2Yî4iî9�î=üî?[î?³îB\îG¤îG¤ï1‹î ôï/ÿîîÛî˜î˜ï/ÿsï/ÿ îÕï/ÿrï/ÿ�î…î…ï/ÿsï/ÿ î(Âï/ÿrï/ÿî)î+£î+£ï/ÿsï/ÿî2[ï/ÿrï/ÿ�î3î5”î8 î>¹î>¹ï/ÿsï/ÿ îGöï/ÿrï/ÿ�îH¦îH¦ï/ÿî ôï.sî òîBî>î|îÛî3îÜî$ºî'Ñî+kî-.î0;î1»î4î6Gî:¾î:¾ï.ssï.s îCûï.srï.sîDSîJ£îJ£ï.sî ôï,çîÌî ýîÇî²îlîlï,çsï,ç î!©ï,çrï,ç�î"�ï,çsï,çî"ï,çî ôï*.îþîßî ¡î+’ï*.î ôï(ÖîÕî—î!x î*µî4Ïï(Öî ôï'~î Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—î) î2D�î3òî;‡ï'~î ôï&&îêîÁî˜îoîFîîôîËî¢îyîPî'îþîÕî¬îƒîZî1îîßî¶î î!dî";î# î,O�î-ýî3 ï&&î ôï$Îî Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîîóîÊî ¡î!xî"Oî(0�î)Þî2Dî6wî6}ï$Îî ôï#vî Ëî¢îyî Pî'îþîÕî¬îƒîZî1îîßî¶îîdî;îîéîÀî—înîEîîóîÊî ¡î!xî"Oî*µ�î,c î4Ïï#vî ôï"î Ëî¢îyî Pî'îþîÕîîKï"î ôï Æî úï Æî ôïÙîïÙrïÙî`îàîRîšî!aî%`�î&]î)×î,Ùî.Zî.ZïÙsïÙî3dî;Êî>OïÙrïÙ�î>¦ïÙqïÙî>¬ïÙî ôïîîlîwî¤îýîcïrïîiïî ôïî šî~îàîº î"Äî)î,åî0Âî2��î2ýî5§î72 î>1�î?.îBéîGÍîGÍïî ôï‹ î¼îŠ�î‡î¼îÊî#\î':î*1î-Ëî/Kî1|î6ƒî8î<Cî>'�î?$îAîFcîFcï‹î ôï îîjîÄî£îÜî ôî"Ìî%Ìî(¢ î/wî2�î5î;”î>îB<îEuîHwîJîJïî ôï…îœ�î ™îTî}ï…sï…îƒï…î ôï ˜îîï ˜uï ˜î#Ðî)Óî/åî7Yî9·ï ˜ïè�î:Dï ˜ï ˜î:Šî;¢î>�ï ˜ïè�î>Üï ˜ï ˜î?" îGï ˜sï ˜�îGéï ˜rï ˜îHAîH™îJrîJrï ˜îêïfî îdïfÿ�������Î���� êq?€`½j������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������12AttemptstoperformaCouriercallusingtheExpeditedProcedureCall.ADDRESSistheNSaddressoftheremotehostandSOCKET#isthesocketonwhichitisknowntolistenforexpeditedcalls.TheremainingargumentsareexactlyaswithCOURIER.CALL.Iftheargumentstotheproceduredonotfitinonepacket,orifthereisnoresponsetothecall,orifthecallreturnstheerrorUSE.COURIER(whichmustbedefinedbyexactlythatnameinPROGRAM),thenthecallisattemptedinsteadbythenormal,non-expeditedmethod---aCourierconnectionisopenedwithADDRESS,andCOURIER.CALLisinvokedontheargumentsgiven.1.6.3.2ExpandingRingBroadcast"ExpandingRingBroadcast"isamethodoflocatingaserverofaparticulartypewhoseaddressisnotknowninadvance.Thesystembroadcastssomesortofrequestpacketonthedirectly-connectednetwork,thenonnetworksonehopaway,thenonnetworkstwohopsaway,etc.,untilapositiveresponseisreceived.ForuseinlocatingaserverforaparticularCourierprogram,astylizedformofExpandingRingBroadcastisdefined.TherequestpacketisessentiallythecallportionofanExpeditedProcedureCallforsomeproceduredefinedintheprogram.TheresponsepacketisaCourierresponse,andtypicallycontainsatleasttheserver'saddressastheresultofthecall.Thedesigneroftheprotocolmust,ofcourse,specifywhichproceduretouseinthebroadcast(usuallyitisprocedurenumberzero)andonwhatsockettheservershouldlistenforbroadcasts.START.CLEARINGHOUSEusesthisproceduretolocatethenearestClearinghouseserver.(COURIER.BROADCAST.CALLDESTSOCKET#PROGRAMPROCEDUREARGSRESULTFNNETHINTMESSAGE)[Function]PerformsanexpandingringbroadcastforserverswillingtoimplementPROCEDUREinCourierprogramPROGRAM.DESTSOCKET#isthesocketonwhichsuchserversofthistypeareknowntolistenforbroadcasts,typicallythesamesocketonwhichtheylistenforexpeditedcalls.ARGSistheargumentlist,ifany,totheprocedure(notethatitisnotspread,unlikewithCOURIER.CALL).Ifahostrespondspositively,thenthefunctionRESULTFNiscalledwithoneargument,theCourierresultsoftheprocedurecall.IfRESULTFNreturnsanon-nullvalue,thevalueisreturnedasthevalueofCOURIER.BROADCAST.CALLandthesearchstopsthere;otherwise,thesearchforaresponsivehostcontinues.IfRESULTFNisnotsupplied(orisNIL),thentheresultsoftheprocedurecallarereturneddirectlyfromCOURIER.BROADCAST.CALL;i.e.,RESULTFNdefaultstotheidentityfunction.NETHINT,ifsupplied,isanetnumberorlistofnetnumbersasahintconcerningwhichnet(s)totryfirstbeforeperformingapureexpanding-ringbroadcast.IfMESSAGEisnon-NIL,itisadescription(string)ofwhatthebroadcastislookingfor,tobeprintedinthepromptwindowtoinformtheuserofwhatishappening.Forexample,START.CLEARINGHOUSEpassesinthemessage"Clearinghouseservers"andthehintCH.NET.HINT.1.6.3.3UsingBulkDataTransferWhenaCourierprogramneedstotransferanarbitraryamountofinformationasanargumentorresultofaCourierprocedure,theprocedureisusuallydefinedtohaveoneargumentoftype"BulkData".Theargumentisa"source"ifitisinformationtransferredfromcallertoserver(asthoughaprocedureargument),a"sink"ifitisinformationtransferredfromservertocaller(asthoughaprocedureresult).Thesetwo"types"areindicatedinaCourierprocedure'sformalargumentlistasBULK.DATA.SOURCEandBULK.DATA.SINK,respectively.ACourierproceduremayhaveatmostonesuchargument.���îdïfî êïførî ôïh„sî¢ïh„î¢ïbrîcîãî# �î$î(ëî+Fî.Àî0ñî7Kî=¦î@»îAîAïbuïbîFïbrïbîFÙîHîJHîJHïbî¢ï`~îâîœî'î!Xî%Ïî(™î+"î+"ï`~uï`~î0ßï`~rï`~î17î2uî4¦î8£î:{î>Xî?€î@¾îEîF“îJîJï`~î¢ï^ûî±îÊî"�î"Xî%î+Pî1Íî3óî8_î9àî<Ëî<Ëï^ûsï^ûîFßï^ûrï^û�îGŽîGæîI;îI;ï^ûî¢ï]oîÓîPî Ðî#î)Qî+)î-oî/î0î3 î7î9%î:Xî=²î>ðî@ÈîF<îG¼îIíîIíï]oî¢ï[ìîUîëîîOî ªî%-î'^î*¡î*¡ï[ìsï[ì î3Þï[ìrï[ìî46î8Œî;Åî=ˆîBWîD%îH‘îH‘ï[ìî¢ïZ`îAîÒîRîRïZ`uïZ`î$ïZ`rïZ`î%Gî(>î*oî,Êî.î4Nî8Ðî:žî<ÏîA³îJ‹îJ‹ïZ`î¢ïXÝ îŒî"p î)7î*uî/#î2î2ïXÝuïXÝî7|ïXÝrïXÝ�î8,î:µî:µïXÝsïXÝîDÉïXÝrïXÝîE!îF_îF_ïXÝî¢ïWQî±î‰îºî&7î)»ïWQqïWQî)ÁïWQî ôïQ‹îîlîwîî&îïQ‹rïQ‹îïQ‹î ôïN† îaî™ îaîŸ�îœî"vî$î(ú�î)÷î-Õî/`�î0] î6_î9@î=>îAøîC6îE|îIÑîIÑïN†î ôïMîtîèî@îéî5 î±î"î$î&(î*Ìî.öî0Îî2ÿî>3îC±îF¨îH€îH€ïMî ôïK€îžîî¹î`îWî/î"Ùî%Vî(xî,î.Óî1é�î2æî7Éî==î>{îC½ïK€î ôïHœîpî·î7î0�î-îî�î î#î'ýî-³�î.°î3rî6ªî85î>òîB*îHBîI€îI€ïHœî ôïGîîrîî¿îéî' î"€î$±î'î+¸î-Cî/î5`î;»î>yî@ˆîCìîJ<îJ<ïGî ôïE–îÃîCîtî)îî*î žî$Èî&�î'î+çî1³î4<î9î>¾î@)îCîEPîJ îJ ïE–î ôïDî®î/î`îûî†î·îiîÁîjî$²î&=î(nî-¨î19î2Äî7;î;§î?„îEÔîGTîI›îI›ïDî ôïBîtî ¥îî—î¿îýî!Mî&Iî)–î,î-÷î1%î5"î7Sî;1î?{îBôîEîEïBî ôïA îoïA sïA îuïA î ôï> îéï> rï> îAîî~î%Îî'Nî+î-Eî1Èî:”î>qï> sï> î>wï> î ôï;3îîï;3uï;3 î'%î-7î4«î7ÿî>cîCüîI„ï;3sï;3�îJ[ï;3rï;3îJ³îKîOhîOhï;3îêï9§ îï9§î¢ï8$îXîî$—î'Kî-Cî/Rî3´î8î9‡î@9î@9ï8$uï8$îGgï8$rï8$îG¿îI?îI?ï8$î¢ï6¡î†î äî äï6¡uï6¡î&°ï6¡rï6¡�î'_î'·î'·ï6¡uï6¡ î0zï6¡rï6¡î0Òî2î4Aî8>î:î=óî@õîEWîFâîITîITï6¡î¢ï5îƒî©îþî!~î$÷î' î-Úî3+î5\î8«î<¨î>€îB]îE>îH·îH·ï5î¢ï3›î±îÊî"�î"Xî"Xï3›uï3›î%fï3›rï3›î%¾î&üî)-î/&î1Œî2¿î5Šî7 î9;î?‹îBïîEŽîF¶îGôîJ:îJ:ï3›î¢ï2î0î7î""î""ï2sï2î,6ï2rï2î-ï2î¢ï/+î÷�îôî¾î!S î' î*—î,Èî2î2ï/+uï/+î8-ï/+rï/+î8…î9Ãî=‰î@tîBñîIBîIBï/+î¢ï-¨îÓî·î!Öî#aî%’î+âî.”î.ìî0Aî0Aï-¨uï-¨î6_ï-¨rï-¨î6·î;:�î<7îAžîEpîG¡îG¡ï-¨î¢ï,%îîZî Äî"Eî$vî'ðî){î){ï,%sï,%î;õï,%rï,%î<Mî>ÖîAîEîH_îH_ï,%î¢ï*™îu î Äî"õî&ÿî)�î* î0‘î3[ î9©î:î;Vî;Vï*™uï*™îAtï*™rï*™îAÌîC îEPîJîJï*™î¢ï)î±îïîïï)sï)îtï)rï)îî ”î"Åî&äî(oî* î0ðî3Kî5qî:Ûî?žîBÖîBÖï)î¢ï'Šsî)ï'Šrï'Š�î)íî,Rî,Rï'Šuï'Šî2pï'Šrï'Šî2Èî7Ãî9Cî;tî@MîE“ï'Šuï'ŠîE™ï'Šî¢ï$îõï$rï$�î¥îØî#î$Ë�î%Èî'ùî,õî.‹î0™î2$î4Uî9Õî;V�î<Sî? îEÚîI·îI·ï$î¢ï#îIîÉîÃî lî$‹ î+Š�î,‡î/” î8å î?4î?Œî@áî@áï#uï#îFiï#rï#îFÁîGÿîGÿï#î¢ï!—îîÅî�î � î&Ýî+uî-�î0.î2_î8Wî9•î>Uî@¼îB<îCÿîH¢îJ"îJ"ï!—î¢ï îÓîŒî"†î$î(fî*—î-bî.íî2î3Y î:Bî:šî=îB¶îB¶ï î¢ï‘sî&—ï‘rï‘î&ïî*ãî,cî.”î3¼î3¼ï‘sï‘ î@UîG ï‘rï‘îGeîIîîIîï‘î¢ïîÓî‡î‡ïsï î$Äïrï�î%ïqïî%!ïî ôï?îîlîwî;î[îžî£ï?rï?î©ï?î ôï:î Ý�îÚî¾îîÎîNî#)î$ìî*`î/:î0Å î8î9›î;^îAWîBíîFˆîH�îIîIï:î ôï·îØ î€î±îî?î#Àî(î*î-'î/¤î5î7(î: î=ÙîBîBfîEîEï·î ôï4îíî+�î(î§îÚîî@ î"• î)_î,—î0î1›î5yî7sî;õ�î<òîCB îJîJï4î ôï±�î ñîîBîjî¨ îý î Çî#ÿî'Ýî)]î,áî.Ûî3]�î4Zî:ªî?î?mîC?îE¼îJîJï±î ôï.îîÚîZ�îWî; î gî$¦î*Ÿî,î..î..ï.sï.î;žï.rï.î;öî>î>ï.î ôï¢s î¶ï¢rï¢�îfîþîV�îµî$™î*éî-¿î0×î2Bî5oî7ìî:îîA>îADï¢�������÷���� êq?€`½ú������������������13InaCouriercall,thebulkdataistransmittedinaspecialway,betweentheargumentsandtheresults.Therearetwobasicwaystohandlethisinthecall.Thecallercanspecifyhowthebulkdataistobeinterpreted(howtoreadorwriteit),orthecallercanrequesttobegivenabulkdatastreamastheresultoftheCouriercall.Theformeristhepreferredway;botharedescribedbelow.Inthefirstmethod,thecallerpassesastheactualargumenttotheCouriercall(i.e.,inthepositionintheargumentlistoccupiedbyBULK.DATA.SOURCEorBULK.DATA.SINK)afunctiontoperformthetransfer.Couriersetsupthetransaction,thencallsthesuppliedfunctionwithoneargument,astreamonwhichtowrite(ifasourceargument)orread(ifasink)thebulkdata.Ifthefunctionreturnsnormally,theCouriertransactionproceedsasusual;ifiterrorsout,CouriersendsaBulkDataAborttoabortthetransaction.Inthecaseofasinkargument,ifthevaluereturnedfromthesinkfunctionisnon-NIL,itisreturnedastheresultofCOURIER.CALL;otherwise,theresultofCOURIER.CALListheusualprocedureresult,asdeclaredintheCourierprogram.Forconvenience,aBulkDatasinkargumenttoaCouriercallcanbespecifiedasafullyqualifiedCouriertype,e.g.,(CLEARINGHOUSE.NAME),inwhichcasetheBulkDatastreamisreadasa"streamof"thattype(seeCOURIER.READ.BULKDATA,below).ThesecondmethodforhandlingbulkdataistopassNILasthebulkdata"argument"toCOURIER.CALL.Inthiscase,Couriersetsupthecall,thenreturnsastreamthatisopenforOUTPUT(ifasourceargument)orINPUT(ifasink).Thecallerisresponsiblefortransferringthebulkdataonthestream,thenclosingthestreamtocompletethetransaction.ThevaluereturnedfromCLOSEFistheCourierresult.Thismethodisrequiredifthecaller'scontrolstructureisopen-endedinawaysuchthatthebulkdatacannotbetransferredwithinthescopeofthecalltoCOURIER.CALL.Ineithermethod,thestreamonwhichthebulkdataistransferredisastandardInterlispstream,soBIN,BOUT,COPYBYTESareallappropriate.ManyCourierprogramsdefinea"Streamof<type>"asameansoftransferringanarbitrarynumberofobjects,allofthesametype.AlthoughthisistypicallyspecifiedformallyintheprintedCourierdocumentationasarecursivedefinition,therecursionisinpracticeunnecessaryandunwieldy;instead,thefollowingfunctionshouldbeused.(COURIER.READ.BULKDATASTREAMPROGRAMTYPE)[Function]ReadsfromSTREAMa"StreamofTYPE"forCourierprogramPROGRAM,andreturnsalistoftheobjectsread.Passing(X.Y)asthebulkargumenttoaCouriercallisthusequivalenttopassingthefunction(LAMBDA(STREAM)(COURIER.READ.BULKDATASTREAMXY)).1.6.3.4CourierSubfunctionsforDataTransferThefollowingfunctionsareofinteresttothosewhotransferdatainCourierrepresentations,e.g.,aspartofafunctiontoimplementauser-definedCouriertype.(COURIER.READSTREAMPROGRAMTYPE)[Function]ReadsfromthestreamSTREAMaCouriervalueoftypeTYPEforprogramPROGRAM.IfTYPEisapredefinedtype,thenPROGRAMisirrelevant;otherwise,itisrequiredinordertoqualifyTYPE.(COURIER.WRITESTREAMITEMPROGRAMTYPE)[Function]WritesITEMtothestreamSTREAMasaCouriervalueoftypeTYPEforprogramPROGRAM.(COURIER.READ.SEQUENCESTREAMPROGRAMBASETYPE)[Function]���îADï¢î êïførîH¼ïh„sîJjïh„î ôïbrî–�î“îwî*î[î[î1îo î$zî%ú�î&÷î+Aî.Cî3î5²î</î>¸î@éîE_îE·îI‰îI‰ïbî ôï`~îî—îÚîîˆîÞîPîÐî!î#³î$î&´î*8î,•î1î3Öî6î9î;Ýî=î>›î@^ îG=îJ‹îJ‹ï`~î ôï^ûîtî`îöîDî=îÓîîˆîåî#‰î% î&Ìî*Q�î+Nî.Nî1$î5eî6æî9î<²î>=î@nîERîHîH\îH\ï^ûî ôï]xîîþî<îmîEîhî tî"šî(’î,sï]xî ôïZ”î–î Çîpî¢îÓîWîKî Ìî"ýî&Ïî,Èî.Hî0yî5]î7¸î:–î<î>GîCUîDÕîGîGïZ”î ôïYîíîûîšîhîhïYsïYî&ØïYrïYî'0î(Æî(ÆïYsïY î4ˆïYrïY�î5Y�î6Vî;î=îBDîDuîI§îIÿîIÿïYî ôïW…îØîKî/î`î€îwî"Vî$‡î)äî/+î2î4“î:ä�î;áî@"îAúîE×îGWîJ¥îJ¥ïW…î ôïVî �îî¼î.îÄî°î\�îYî!î#Áî&Áî)îî*Fî+›î-Ìî3î7–î=Œî?½îD¡îD¡ïVî ôïT î¼îFîÇî¯îâî î!Ñî$oî)Sî,ä�î-áî1î4/î8�î9€î<ïî? îEíïTî ôïQ›î–î Çî‡î�îîÍîîQî‚î"üî(fî+žî-Ïî0î5Ôî7î9ÑïQ›sïQ›î<VïQ›rïQ›�î=î>.î?lîDÖîFWîHˆîHˆïQ›î ôïPî îîïPsïPî.ïPrïP�îÿ î Nî"î&î'¥î'¥ïPsïPî1¹ïPrïPî2î3Oî5€î8ïî??îC2îD³îJîJïPî ôïNƒîtî ¥î‰îìïNƒî ôïKŸîpîa�î^î~î¬îjî$cî%ã�î&àî+Äî.î0|î2?î7Èî9I�î:Fî=QîBäîGÈîGÈïKŸî ôïJî -îàîàïJsïJ îy�î'î"ZïJrïJ�î# î$Šî(gî+'î-Xî0xî3¦î7çî9%î<î=’�î>îC€îE»îHZîHZïJî ôïHîÕîtîtïHsïHî!ïHrïH�î!Çî&!ïHî ôïE£îîþîØîçîpî pî#Fî$„î&î(Ïî(ÏïE£sïE£î+TïE£rïE£î+¬î--î/^î2^î54 î<î> î> ïE£sïE£îH!ïE£rïE£�îHÐîI(îI(ïE£î ôïDî–îî îîwî[îŒî?î"6î&¹�î'¶î+÷î.–î/Ôî3î5&î5&ïDsïDî:0ïDrïDî:ˆî<4�î=1îAPîGÂîIXîIXïDî ôïB‹sî'ïB‹rïB‹îî+�î(î¶îî·î;îy î#wî%†î,½î.îî1îî4Äî6œî8Íî=fî@]îDÇîFøîFøïB‹î ôï@ÿî5îµîjî›îºîî!»î%5î*Ÿî-×î-×ï@ÿsï@ÿî2áï@ÿrï@ÿî39î4wî6¨î;Œî?~î?ÖîBÀîGšîHØîHØï@ÿî ôï?sîRî…î¶îî–î!!î"_ î)·î+7�î,4î.Þî1àî4î6°î9°î<†î@ÑîB” îI^îI^ï?sî ôï=ðîî8îÓî^îîêîjîjï=ðsï=ðî%~ï=ðrï=ð�î%Ûï=ðî ôï;î–îRî„îµîöîÎî «î"Üî%Üî(²î)ð î0ºî1ø�î2õî8_î=¦îB?îCÕîCÕï;sï;îFZï;rï;�îG îG ï;î ôï9wsî Pï9wrï9w�î�î�ï9wsï9wîï9wrï9wîçî îÎî þï9wî ôï6Šî ¼î î‚î‹�îˆî"»î$Fî)7î*¸�î+µî/Êî1Uî8Œî:Oî?ÃîD¿îFJîFJï6Šî ôï5î·îxîî4îƒî»îî þî#pî$®î)ÿî/ˆî4Ùî6Yî8Šî=-îBîBï5î ôï3„î#î¤�î¡îA î!¯î#àî)«î*éî,iî1Y î8Èî;QîAŠîFdîH•îH•ï3„î ôï2îÒîîcî&î2ï2sï2î8ï2î ôï/îEîEï/uï/î"Yî(kî+gï/sï/�î,>ï/rï/î,–î,îî0 î6Fï/î¢ï-ˆî–îÎîÎï-ˆuï-ˆî"œï-ˆrï-ˆî"ô�î#ñî)$î*¯î*¯ï-ˆuï-ˆî-«ï-ˆrï-ˆ�î.³î0Âî5¦î;î;ï-ˆuï-ˆî@Ðï-ˆrï-ˆ�îA€îD îHŒ�îI‰îI‰ï-ˆî¢ï,î°î;îlî ×î#Èï,î¢ï)!îPîPï)!sï)!îÕ�îƒî!1ï)!rï)!î!‰î# î%;î(;î.4î/´�î0±î5•î7ðî9.î< îBîCÿîH¢îH¢ï)!î¢ï'•îÓîîï'•sï'•î$Òî,aî?²îE“�îGAîIÆï'•rï'•�îJï'•qï'•îJ#ï'•î ôï!ÏîîlîwîDîEîHî!‹î&ï!Ïrï!Ïî&–ï!Ïî ôïÊîî{îFîlî÷î ¥î"%î%”î(iî-Dî0î1šî6~î@îBÏîDPîGîH�îIîIïÊî ôïGî;î»îm�îjî %î% î'éïGsïGî'ïïGî ôïZî¶î¶ïZuïZîÊî Üî#ØïZsïZ�î$¯ïZrïZî%î%_î0 î6FïZî¢ïÎî–îÎîÿî$@î$@ïÎuïÎî)ïÎrïÎî)f�î*cî/Gî2Áî4Lî7-î7-ïÎuïÎî:)ïÎrïÎî:î<îAîîAîïÎuïÎîGºïÎrïÎ�îHiîHÁîJîJïÎî¢ïKuîžïKrïKîöî4�î1 î"ïî&(î)î)ïKuïKî.ëïKrïKî/Cî0 î6ñ î=@î>hî?¦îEîF„îJ îJ ïKî¢ïÈî"î˜î˜ïÈuïÈî”ïÈrïÈ�îëïÈsïÈîñïÈî ôïÛ îîïÛuïÛî¡îìî$þî'úïÛsïÛ�î(ÑïÛrïÛî))î)î0 î6FïÛî¢ïOî×î×ïOuïOîÜïOrïOî4î´î!åî&&î&&ïOuïOî*ôïOrïOî+Lî,Í�î-Êî2®î6(î7³î:”î:”ïOuïOî=ïOrïOî=èî?÷îEUîEUïOî¢ïÌuînïÌrïÌ�îÅïÌsïÌîËïÌî ôïßîEîEïßuïßî"Yî(kî.eïßsïß�î/<ïßrïßî/”î/ìî0 î6Fïß�������;���� êq?€`½*��������������������������������������������������������������������������������������������������������������14ReadsfromthestreamSTREAMaCouriervalueSEQUENCEofvaluesoftypeTYPEforprogramPROGRAM.Equivalentto(COURIER.READSTREAMPROGRAM(SEQUENCEBASETYPE)).(COURIER.WRITE.SEQUENCESTREAMITEMPROGRAMBASETYPE)[Function]Equivalentto(COURIER.WRITESTREAMITEMPROGRAM(SEQUENCEBASETYPE)).SomeCourierprogramstrafficinvalueswhoseinterpretationisleftuptotheclientsoftheprogram;thevaluesaretransferredinCouriertransactionsasvaluesoftype(SEQUENCEUNSPECIFIED).Forexample,theClearinghouseprogramtransfersthevalueofadatabasepropertyasanuninterpretedsequence,leavingituptothecaller,whoknowswhattypeofvaluetheparticularpropertytakes,tointerpretthesequenceofrawbitsassomeotherCourierrepresentation.Thefollowingfunctionsareusefulwhendealingwithsuchvalues.(COURIER.WRITE.REPVALUEPROGRAMTYPE)[Function]Producesalistof16-bitintegers,i.e.,avalueoftype(SEQUENCEUNSPECIFIED),thatrepresentsVALUEwheninterpretedasaCouriervalueoftypeTYPEinPROGRAM.Examples:(COURIER.WRITE.REPTNIL'BOOLEAN)=>(1)(COURIER.WRITE.REP"Thing"NIL'STRING)=>(552150Q64556Q63400Q)(COURIER.WRITE.REP'(1025)NIL'(SEQUENCEINTEGER))=>(21025)(COURIER.READ.REPLIST.OF.WORDSPROGRAMTYPE)[Function]InterpretsLIST.OF.WORDS,alistof16-bitintegers,asaCourierobjectoftypeTYPEintheCourierprogramPROGRAM.(COURIER.WRITE.SEQUENCE.UNSPECIFIEDSTREAMITEMPROGRAMTYPE)[Function]WritestothestreamSTREAMintheform(SEQUENCEUNSPECIFIED)theobjectITEM,whosevalueisreallyaCouriervalueoftypeTYPEforprogramPROGRAM.Equivalentto,butusuallymuchmoreefficientthan,(COURIER.WRITESTREAM(COURIER.WRITE.REPITEMPROGRAMTYPE)NIL'(SEQUENCEUNSPECIFIED)).���î6Fïßî êïførî ôïh„sî¢ïh„î¢ïbrî–îÎîÿî$@î$@ïbuïbî)ïbrïbî)f�î*cî/Gî2Áî2Áïbsïbî9yïbrïbî9Ñî;\î?Zî@åîCÆîCÆïbuïbîFÂïbrïbîGîI)îI)ïbî¢ï`uî�î�ï`uuï`uî!Ìï`urï`u�î"{î"Ó î)î+î+ï`usï`uî6Ñî6Ñï`uuï`uî;Ÿï`usï`uî<vî<vï`uuï`uîBBï`usï`uîCîCï`uî¢ï^éîîï^éuï^éî%ï^ésï^éî&°ï^érï^é�î'ï^ésï^éî' ï^éî ôï[üîîï[üuï[üî#0î&{î,î2‡ï[üsï[ü�î3^ï[ürï[üî3¶î4î6š î<Àï[üî¢ïZp î^îÞîÞïZpsïZp î+wî+wïZpuïZpî0EïZpsïZpî1î1ïZpuïZpî4!ïZpsïZpî4øî4øïZpuïZpî:ÄïZpsïZpî;›îDîDïZpî¢ïXäuîœïXäsïXäîJïXärïXä�î§ïXäî ôïU÷î šî~î`î=î½î!»î%¹ î."î/`î1¦î3Šî5 î7;î;Nî<Ùî? îDáîGîGïU÷î ôïTtî òî îâîbîFî$’î&î*î+œî.}î.}ïTtsïTtî6ãî@÷ïTtrïTt�îA¦îAþîDzîJîJïTtî ôïRèî%îñîOî®î!ßî%Yî&ä�î'áî-Kî2´î45î5øî>cîDrîHþîJ&îJ&ïRèî ôïQeîØî Xî‰îeî:îMî{î \î!çî%aî'’ î-”î2ýî6£î8#î=—î?ÈîEîG îIˆîIˆïQeî ôïOâîfî çîKîºîžî"·î#î%¸î+–î1aî3‡î7oî:õî?—îB‚îE„îIïOâsïOâîI‡ïOâî ôïLõîéîéïLõuïLõî#î$5î'1ïLõsïLõ�î(ïLõrïLõî(`î(¸î0 î6FïLõî¢ïKiîX�îUîcî îî$µî)ýî,b�î-_î0Ùî2dî5Eî5EïKisïKiî=«îG¿ïKirïKi�îHoîHoïKiî¢ïIÝîA î’î’ïIÝuïIÝî#†ïIÝrïIÝî#Þî'd î.Cî/Ä�î0Áî5¥î9î:ªî=‹î=‹ïIÝuïIÝî@‡ïIÝrïIÝî@ßîB_îB_ïIÝuïIÝîH+ïIÝrïIÝ�îHÚîI2îI2ïIÝî¢ïHZîÐïHZsïHZîÖïHZî¢ïEmî&—�î(Eî+¡î4î4ïEmrïEmî6ïEmsïEmî6îî9yïEmî¢ïB€î&—î-Oî0«î8:î8:ïB€rïB€î:JïB€sïB€î:PïB€î¢ïA(îÖîÌî Qî&2î,î1úïA(î¢ï>;î&—î*Êî.&î1‚ î:¿îC%îC%ï>;rï>;îE5ï>;sï>;îFîFãîFéï>;î¢ï<ãîÖîÌî Qî"Öî%aï<ãî ôï9öîîï9öuï9öî"aî(sî+oï9ösï9ö�î,Fï9örï9öî,žî,öî0 î6Fï9öî¢ï8j î¼î¼ï8juï8jî%Åï8jrï8j�î&u�î'rî)€î+î.Òî4î5›�î6˜î;|î?cî@îîCÏîCÏï8juï8jîFËï8jrï8jîG#îH£îH£ï8jî¢ï6çîÓî·î#î#ï6çuï6çî(áï6çrï6ç�î)8ï6çsï6çî)>ï6çî ôï3úð#î(0î(0ï3úuï3úî-Dî0î6¡î9ï3úsï3ú�î:tï3úrï3úî:Ìî;$î; îA¶ï3úî¢ï2nî×îWîˆî"Éî"Éï2nuï2nî'—ï2nrï2nî'ïî)oî+ î.Øî.Øï2nsï2nî7>îARï2nrï2nîAªîCÛîGÂîGÂï2nî¢ï0âuî§ï0ârï0â�îWîUî!Ïî# î&§�î'¤î,ˆî0î1î4nî4nï0âuï0âî7jï0ârï0âî7Âî9Ñî?/î?/ï0âuï0âîDûï0ârï0â�îEªîFîFï0âî¢ï/_ î^î6î!ˆî& î)°î-î2:î5‰î5‰ï/_sï/_ îB"îB"ï/_uï/_îFðï/_sï/_îGÇîGÇï/_î¢ï.î&—î&—ï.uï.î)œï.sï.î*sî*sï.uï.î0?ï.sï.î1î1ï.uï.î4ï.sï.�î5Àî9 îBYîBYï.î¢ï,{î!ï,{rï,{�î!äï,{sï,{î!êï,{ÿ�������û���� êq?€`½r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������é TIMESROMAN��������������é TIMESROMAN���������� ����~GACHA���������������� ����é TIMESROMAN����������� ����é TIMESROMAN���������� �����~GACHA������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �X��� � �Z�����Ç���&��K���1��-���=��Ð���I� �T���V��Z���a��‹���m��z���{��®���†� � ���“� �7��� ����¨��Ÿ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������j/�«��©�ÿÿÞEº��ÿÿÿÿÿÿ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'{ERIS}<LISP>HARMONY>DOC>ETHERNS.TEDIT;2������������SANNELLA����������������������� 5-Dec-84 15:20:50���������������������������������������������������������������������������������������������������������������������������������������������������������