<<>> -- EnvelopeContentsP0V0ClientImpl.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:52:59 pm PST -- using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST DIRECTORY CrRPC, CHNameP2V0, MailTransportP17V5, EnvelopeFormatP1517V1, EnvelopeContentsP0V0; EnvelopeContentsP0V0ClientImpl: CEDAR PROGRAM IMPORTS CrRPC EXPORTS EnvelopeContentsP0V0 ~ { OPEN EnvelopeContentsP0V0; GetError: CrRPC.GetErrorProc ~ { ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"]; }; -- Remote Procedures -- OriginatorFromItem: PUBLIC OriginatorFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~5 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; OtherRecipientsFromItem: PUBLIC OtherRecipientsFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc3[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~13 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; PostmarkFromItem: PUBLIC PostmarkFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value.postedAt ¬ UProc2[h, s]; value.time ¬ CrRPC.GetCard32[s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~0 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; TableOfContentsFromItem: PUBLIC TableOfContentsFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc4[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~3 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ReportFromItem: PUBLIC ReportFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value.originalEnvelope ¬ UProc5[h, s]; value.fateOfThisReport ¬ UProc6[h, s]; value.reportType ¬ UProc7[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~6 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ReturnToNameFromItem: PUBLIC ReturnToNameFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~7 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AuthenticationLevelOfSenderFromItem: PUBLIC AuthenticationLevelOfSenderFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ VAL[CrRPC.GetCard16[s]]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~16 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ContentsTypeFromItem: PUBLIC ContentsTypeFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ CrRPC.GetCard32[s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~2 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; TransportOptionsFromItem: PUBLIC TransportOptionsFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value.returnOfContents ¬ CrRPC.GetBool[s]; value.alternateRecipientAllowed ¬ CrRPC.GetBool[s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~11 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; AddressChangeNoticeFromItem: PUBLIC AddressChangeNoticeFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~10 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ContentsSizeFromItem: PUBLIC ContentsSizeFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ CrRPC.GetCard32[s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~4 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; MessageIDFromItem: PUBLIC MessageIDFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; FOR i8: CARDINAL IN [0..5) DO value[i8] ¬ CrRPC.GetCard16[s]; ENDLOOP; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ConvertedFromItem: PUBLIC ConvertedFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc9[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~15 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; PriorityFromItem: PUBLIC PriorityFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ VAL[CrRPC.GetCard16[s]]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~14 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; X400SpecificReportInformationFromItem: PUBLIC X400SpecificReportInformationFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc10[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~12 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; PreviousRecipientsFromItem: PUBLIC PreviousRecipientsFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value ¬ UProc3[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~8 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; GatewayPostmarkFromItem: PUBLIC GatewayPostmarkFromItemType ~ { PutArgs: CrRPC.PutArgsProc ~ { MProc1[h, s, item]; }; GetResults: CrRPC.GetResultsProc ~ { length ¬ CrRPC.GetCard16[s]; value.postedAt ¬ UProc2[h, s]; value.time ¬ CrRPC.GetCard32[s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~9 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; -- Unmarshal / Marshal Procs -- UProc4: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.TableOfContents] ~ { { length12: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.TableOfContentsObject[length12]]; FOR i11: CARDINAL IN [0..length12) DO res.body[i11].type ¬ CrRPC.GetCard32[s]; res.body[i11].sizeInBytes ¬ CrRPC.GetCard32[s]; ENDLOOP; }; }; UProc6: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.Fate] ~ { { tag13: EnvelopeFormatP1517V1.FateKind ~ VAL[CrRPC.GetCard16[s]]; SELECT tag13 FROM delivered => { temp14: EnvelopeFormatP1517V1.DelType; temp14 ¬ VAL[CrRPC.GetCard16[s]]; res ¬ NEW[EnvelopeFormatP1517V1.FateObject.delivered ¬ [delivered[temp14]]] }; notDelivered => { temp14: EnvelopeFormatP1517V1.NonDelType; temp14.reason ¬ VAL[CrRPC.GetCard16[s]]; temp14.reportCreationPostmark.postedAt ¬ UProc2[h, s]; temp14.reportCreationPostmark.time ¬ CrRPC.GetCard32[s]; res ¬ NEW[EnvelopeFormatP1517V1.FateObject.notDelivered ¬ [notDelivered[temp14]]] }; ENDCASE => ERROR; }; }; UProc5: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.Envelope] ~ { { length16: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.EnvelopeObject[length16]]; FOR i15: CARDINAL IN [0..length16) DO res.body[i15].type ¬ CrRPC.GetCard32[s]; res.body[i15].value ¬ UProc17[h, s]; ENDLOOP; }; }; MProc1: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Opaque] ~ { CrRPC.PutCard16[s, val.length]; FOR i18: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i18]]; ENDLOOP; }; UProc2: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.RName] ~ { { tag19: MailTransportP17V5.RNameKind ~ VAL[CrRPC.GetCard16[s]]; SELECT tag19 FROM xns => { temp20: CHNameP2V0.ThreePartName; temp20.organization ¬ CrRPC.GetRope[s]; temp20.domain ¬ CrRPC.GetRope[s]; temp20.object ¬ CrRPC.GetRope[s]; res ¬ NEW[MailTransportP17V5.RNameObject.xns ¬ [xns[temp20]]] }; gateway => { temp20: MailTransportP17V5.GatewayRecord; temp20.country ¬ CrRPC.GetRope[s]; temp20.adminDomain ¬ CrRPC.GetRope[s]; temp20.privateDomain ¬ CrRPC.GetRope[s]; temp20.organization ¬ CrRPC.GetRope[s]; temp20.organizationalUnits ¬ UProc21[h, s]; temp20.personal ¬ UProc22[h, s]; temp20.gatewaySpecificInformation ¬ UProc23[h, s]; res ¬ NEW[MailTransportP17V5.RNameObject.gateway ¬ [gateway[temp20]]] }; ENDCASE => ERROR; }; }; UProc21: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.OrgUnits] ~ { { length25: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.OrgUnitsObject[length25]]; FOR i24: CARDINAL IN [0..length25) DO res.body[i24] ¬ CrRPC.GetRope[s]; ENDLOOP; }; }; UProc10: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.X400SpecificReportInformation] ~ { { length27: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.X400SpecificReportInformationObject[length27]]; FOR i26: CARDINAL IN [0..length27) DO res.body[i26] ¬ UProc28[h, s]; ENDLOOP; }; }; UProc7: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.RepType] ~ { { tag29: EnvelopeFormatP1517V1.RepTypeKind ~ VAL[CrRPC.GetCard16[s]]; SELECT tag29 FROM dlMember => { temp30: EnvelopeFormatP1517V1.DLMem; temp30.dlName ¬ UProc2[h, s]; temp30.invalidDLRecipients ¬ UProc31[h, s]; res ¬ NEW[EnvelopeFormatP1517V1.RepTypeObject.dlMember ¬ [dlMember[temp30]]] }; other => { temp30: EnvelopeFormatP1517V1.OtherRep; temp30.succeeded ¬ UProc32[h, s]; temp30.failed ¬ UProc33[h, s]; res ¬ NEW[EnvelopeFormatP1517V1.RepTypeObject.other ¬ [other[temp30]]] }; ENDCASE => ERROR; }; }; UProc32: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.SucList] ~ { { length35: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.SucListObject[length35]]; FOR i34: CARDINAL IN [0..length35) DO res.body[i34].recipient.name ¬ UProc2[h, s]; res.body[i34].recipient.recipientID ¬ CrRPC.GetCard16[s]; res.body[i34].recipient.report ¬ VAL[CrRPC.GetCard16[s]]; res.body[i34].when ¬ CrRPC.GetCard32[s]; ENDLOOP; }; }; UProc9: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.Converted] ~ { { length37: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.ConvertedObject[length37]]; FOR i36: CARDINAL IN [0..length37) DO res.body[i36] ¬ VAL[CrRPC.GetCard16[s]]; ENDLOOP; }; }; UProc3: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.RecipientList] ~ { { length39: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.RecipientListObject[length39]]; FOR i38: CARDINAL IN [0..length39) DO res.body[i38].name ¬ UProc2[h, s]; res.body[i38].recipientID ¬ CrRPC.GetCard16[s]; res.body[i38].report ¬ VAL[CrRPC.GetCard16[s]]; ENDLOOP; }; }; UProc33: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.FailList] ~ { { length41: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.FailListObject[length41]]; FOR i40: CARDINAL IN [0..length41) DO res.body[i40].recipient.name ¬ UProc2[h, s]; res.body[i40].recipient.recipientID ¬ CrRPC.GetCard16[s]; res.body[i40].recipient.report ¬ VAL[CrRPC.GetCard16[s]]; res.body[i40].reason ¬ VAL[CrRPC.GetCard16[s]]; ENDLOOP; }; }; UProc22: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.PerChoice] ~ { { tag42: MailTransportP17V5.PerChoiceKind ~ VAL[CrRPC.GetCard16[s]]; SELECT tag42 FROM whole => { temp43: ROPE; temp43 ¬ CrRPC.GetRope[s]; res ¬ NEW[MailTransportP17V5.PerChoiceObject.whole ¬ [whole[temp43]]] }; broken => { temp43: MailTransportP17V5.BrokenName; temp43.given ¬ CrRPC.GetRope[s]; temp43.initials ¬ CrRPC.GetRope[s]; temp43.family ¬ CrRPC.GetRope[s]; temp43.generation ¬ CrRPC.GetRope[s]; res ¬ NEW[MailTransportP17V5.PerChoiceObject.broken ¬ [broken[temp43]]] }; ENDCASE => ERROR; }; }; UProc23: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.GatewaySpecInfo] ~ { { length45: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.GatewaySpecInfoObject[length45]]; FOR i44: CARDINAL IN [0..length45) DO res.body[i44].type ¬ CrRPC.GetRope[s]; res.body[i44].value ¬ CrRPC.GetRope[s]; ENDLOOP; }; }; UProc17: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.Opaque] ~ { { length47: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.OpaqueObject[length47]]; FOR i46: CARDINAL IN [0..length47) DO res.body[i46] ¬ CrRPC.GetCard16[s]; ENDLOOP; }; }; UProc28: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.X400ReportItem] ~ { { length49: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.X400ReportItemObject[length49]]; FOR i48: CARDINAL IN [0..length49) DO res.body[i48] ¬ CrRPC.GetCard16[s]; ENDLOOP; }; }; UProc31: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: EnvelopeFormatP1517V1.InvalRecip] ~ { { length51: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[EnvelopeFormatP1517V1.InvalRecipObject[length51]]; FOR i50: CARDINAL IN [0..length51) DO res.body[i50].recipient.name ¬ UProc2[h, s]; res.body[i50].recipient.recipientID ¬ CrRPC.GetCard16[s]; res.body[i50].recipient.report ¬ VAL[CrRPC.GetCard16[s]]; res.body[i50].reason ¬ VAL[CrRPC.GetCard16[s]]; ENDLOOP; }; }; }...