<<>> -- HeaderContents2P0V0ClientImpl.Mesa -- Copyright Ó 1991 by Xerox Corporation. All rights reserved. -- Copyright (C) 1989 by Xerox Corporation. All rights reserved. -- Generated by Willie-sue.pa at February 13, 1989 6:54:17 pm PST -- using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST DIRECTORY CrRPC, MailFormatP1516V3, CHNameP2V0, MailTransportP17V5, HeaderContents2P0V0; HeaderContents2P0V0ClientImpl: CEDAR PROGRAM IMPORTS CrRPC EXPORTS HeaderContents2P0V0 ~ { OPEN HeaderContents2P0V0; GetError: CrRPC.GetErrorProc ~ { ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"]; }; -- Remote Procedures -- AttrFromExpiryDate: PUBLIC AttrFromExpiryDateType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard32[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromSubject: PUBLIC AttrFromSubjectType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutRope[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~30 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromReplyBy: PUBLIC AttrFromReplyByType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard32[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~32 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromImmutable: PUBLIC AttrFromImmutableType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; NULL; -- RECORD [] -- }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~37 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromImportance: PUBLIC AttrFromImportanceType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard16[s, ORD[value]]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~34 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromInReplyTo: PUBLIC AttrFromInReplyToType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc2[h, s, value.originator]; CrRPC.PutRope[s, value.uniqueString]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~27 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromAutoforwarded: PUBLIC AttrFromAutoforwardedType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutBool[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~36 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromMessageID: PUBLIC AttrFromMessageIDType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc2[h, s, value.originator]; CrRPC.PutRope[s, value.uniqueString]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~21 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromForwardedHeadings: PUBLIC AttrFromForwardedHeadingsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc3[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~40 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromAuthorizingUsers: PUBLIC AttrFromAuthorizingUsersType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~23 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromTextAnnotation: PUBLIC AttrFromTextAnnotationType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutRope[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~39 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromOriginator: PUBLIC AttrFromOriginatorType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc2[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~22 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromReplyRequest: PUBLIC AttrFromReplyRequestType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~38 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromReplyToUsers: PUBLIC AttrFromReplyToUsersType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~33 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromObsoletes: PUBLIC AttrFromObsoletesType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc5[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~28 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromPrimaryRecipients: PUBLIC AttrFromPrimaryRecipientsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~24 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromCrossReferences: PUBLIC AttrFromCrossReferencesType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc5[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~29 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromCopyRecipients: PUBLIC AttrFromCopyRecipientsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~25 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromSensitivity: PUBLIC AttrFromSensitivityType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard16[s, ORD[value]]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~35 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AttrFromBlindCopyRecipients: PUBLIC AttrFromBlindCopyRecipientsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { attr ¬ UProc1[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~26 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; -- Unmarshal / Marshal Procs -- MProc5: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.IPMessageIDList] ~ { CrRPC.PutCard16[s, val.length]; FOR i6: CARDINAL IN [0..val.length) DO MProc2[h, s, val.body[i6].originator]; CrRPC.PutRope[s, val.body[i6].uniqueString]; ENDLOOP; }; MProc4: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.RNameList] ~ { CrRPC.PutCard16[s, val.length]; FOR i7: CARDINAL IN [0..val.length) DO MProc2[h, s, val.body[i7]]; ENDLOOP; }; UProc1: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailFormatP1516V3.Val] ~ { { length9: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailFormatP1516V3.ValObject[length9]]; FOR i8: CARDINAL IN [0..length9) DO res.body[i8] ¬ CrRPC.GetCard16[s]; ENDLOOP; }; }; MProc2: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.RName] ~ { CrRPC.PutCard16[s, ORD[val.type]]; WITH val SELECT FROM it: REF MailTransportP17V5.RNameObject.xns => { CrRPC.PutRope[s, it­.xns.organization]; CrRPC.PutRope[s, it­.xns.domain]; CrRPC.PutRope[s, it­.xns.object]; }; it: REF MailTransportP17V5.RNameObject.gateway => { CrRPC.PutRope[s, it­.gateway.country]; CrRPC.PutRope[s, it­.gateway.adminDomain]; CrRPC.PutRope[s, it­.gateway.privateDomain]; CrRPC.PutRope[s, it­.gateway.organization]; MProc11[h, s, it­.gateway.organizationalUnits]; MProc12[h, s, it­.gateway.personal]; MProc13[h, s, it­.gateway.gatewaySpecificInformation]; }; ENDCASE; }; MProc12: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.PerChoice] ~ { CrRPC.PutCard16[s, ORD[val.type]]; WITH val SELECT FROM it: REF MailTransportP17V5.PerChoiceObject.whole => { CrRPC.PutRope[s, it­.whole]; }; it: REF MailTransportP17V5.PerChoiceObject.broken => { CrRPC.PutRope[s, it­.broken.given]; CrRPC.PutRope[s, it­.broken.initials]; CrRPC.PutRope[s, it­.broken.family]; CrRPC.PutRope[s, it­.broken.generation]; }; ENDCASE; }; MProc3: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.ForwardedHeadings] ~ { CrRPC.PutCard16[s, val.length]; FOR i15: CARDINAL IN [0..val.length) DO MProc16[h, s, val.body[i15].envelope]; MProc17[h, s, val.body[i15].heading]; MProc18[h, s, val.body[i15].associatedBodyParts]; MProc19[h, s, val.body[i15].indexOfParentHeading]; ENDLOOP; }; MProc19: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.IndexOfParentHeading] ~ { CrRPC.PutCard16[s, ORD[val.type]]; WITH val SELECT FROM it: REF MailFormatP1516V3.IndexOfParentHeadingObject.null => { NULL; -- RECORD [] -- }; it: REF MailFormatP1516V3.IndexOfParentHeadingObject.nested => { CrRPC.PutCard16[s, it­.nested.index]; }; ENDCASE; }; MProc11: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.OrgUnits] ~ { CrRPC.PutCard16[s, val.length]; FOR i21: CARDINAL IN [0..val.length) DO CrRPC.PutRope[s, val.body[i21]]; ENDLOOP; }; MProc18: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.assocBP] ~ { CrRPC.PutCard16[s, val.length]; FOR i22: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i22]]; ENDLOOP; }; MProc17: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.HeadingAtt] ~ { CrRPC.PutCard16[s, val.length]; FOR i23: CARDINAL IN [0..val.length) DO CrRPC.PutCard32[s, val.body[i23].type]; MProc24[h, s, val.body[i23].value]; ENDLOOP; }; MProc13: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.GatewaySpecInfo] ~ { CrRPC.PutCard16[s, val.length]; FOR i25: CARDINAL IN [0..val.length) DO CrRPC.PutRope[s, val.body[i25].type]; CrRPC.PutRope[s, val.body[i25].value]; ENDLOOP; }; MProc24: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.Val] ~ { CrRPC.PutCard16[s, val.length]; FOR i26: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i26]]; ENDLOOP; }; MProc16: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailFormatP1516V3.EnvelopeAtt] ~ { CrRPC.PutCard16[s, val.length]; FOR i27: CARDINAL IN [0..val.length) DO CrRPC.PutCard32[s, val.body[i27].type]; MProc28[h, s, val.body[i27].value]; ENDLOOP; }; MProc28: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Opaque] ~ { CrRPC.PutCard16[s, val.length]; FOR i29: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i29]]; ENDLOOP; }; }...