-- EnvelopeContents2P0V0ClientImpl.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:53:32 pm PST -- using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST DIRECTORY CrRPC, CHNameP2V0, MailTransportP17V5, EnvelopeFormatP1517V1, EnvelopeContents2P0V0; EnvelopeContents2P0V0ClientImpl: CEDAR PROGRAM IMPORTS CrRPC EXPORTS EnvelopeContents2P0V0 ~ { OPEN EnvelopeContents2P0V0; GetError: CrRPC.GetErrorProc ~ { ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"]; }; -- Remote Procedures -- ItemFromOriginator: PUBLIC ItemFromOriginatorType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc1[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~25 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromX400SpecificReportInformation: PUBLIC ItemFromX400SpecificReportInformationType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc3[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~32 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromConverted: PUBLIC ItemFromConvertedType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc4[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~35 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromPreviousRecipients: PUBLIC ItemFromPreviousRecipientsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc5[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~28 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromPriority: PUBLIC ItemFromPriorityType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard16[s, ORD[value]]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~34 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromMessageID: PUBLIC ItemFromMessageIDType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; FOR i6: CARDINAL IN [0..5) DO CrRPC.PutCard16[s, value[i6]]; ENDLOOP; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~21 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromAddressChangeNotice: PUBLIC ItemFromAddressChangeNoticeType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc1[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~30 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromAuthenticationLevelOfSender: PUBLIC ItemFromAuthenticationLevelOfSenderType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard16[s, ORD[value]]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~36 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromContentsSize: PUBLIC ItemFromContentsSizeType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard32[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~24 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromTransportOptions: PUBLIC ItemFromTransportOptionsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutBool[s, value.returnOfContents]; CrRPC.PutBool[s, value.alternateRecipientAllowed]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromContentsType: PUBLIC ItemFromContentsTypeType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; CrRPC.PutCard32[s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~22 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromReturnToName: PUBLIC ItemFromReturnToNameType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc1[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~27 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromTableOfContents: PUBLIC ItemFromTableOfContentsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc7[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~23 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromOtherRecipients: PUBLIC ItemFromOtherRecipientsType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc5[h, s, value]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~33 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromReport: PUBLIC ItemFromReportType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc8[h, s, value.originalEnvelope]; MProc9[h, s, value.fateOfThisReport]; MProc10[h, s, value.reportType]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~26 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromGatewayPostmark: PUBLIC ItemFromGatewayPostmarkType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc1[h, s, value.postedAt]; CrRPC.PutCard32[s, value.time]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~29 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; ItemFromPostmark: PUBLIC ItemFromPostmarkType ~ { PutArgs: CrRPC.PutArgsProc ~ { CrRPC.PutCard16[s, length]; MProc1[h, s, value.postedAt]; CrRPC.PutCard32[s, value.time]; }; GetResults: CrRPC.GetResultsProc ~ { item ¬ UProc2[h, s]; }; CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~20 , putArgs~PutArgs, getResults~GetResults, getError~GetError]; }; -- Unmarshal / Marshal Procs -- MProc7: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.TableOfContents] ~ { CrRPC.PutCard16[s, val.length]; FOR i11: CARDINAL IN [0..val.length) DO CrRPC.PutCard32[s, val.body[i11].type]; CrRPC.PutCard32[s, val.body[i11].sizeInBytes]; ENDLOOP; }; MProc3: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.X400SpecificReportInformation] ~ { CrRPC.PutCard16[s, val.length]; FOR i12: CARDINAL IN [0..val.length) DO MProc13[h, s, val.body[i12]]; ENDLOOP; }; UProc2: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.Opaque] ~ { { length15: CARDINAL ~ CrRPC.GetCard16[s]; res ¬ NEW[MailTransportP17V5.OpaqueObject[length15]]; FOR i14: CARDINAL IN [0..length15) DO res.body[i14] ¬ CrRPC.GetCard16[s]; ENDLOOP; }; }; MProc13: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.X400ReportItem] ~ { CrRPC.PutCard16[s, val.length]; FOR i16: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i16]]; ENDLOOP; }; MProc10: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.RepType] ~ { CrRPC.PutCard16[s, ORD[val.type]]; WITH val SELECT FROM it: REF EnvelopeFormatP1517V1.RepTypeObject.dlMember => { MProc1[h, s, it­.dlMember.dlName]; MProc18[h, s, it­.dlMember.invalidDLRecipients]; }; it: REF EnvelopeFormatP1517V1.RepTypeObject.other => { MProc19[h, s, it­.other.succeeded]; MProc20[h, s, it­.other.failed]; }; ENDCASE; }; MProc9: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.Fate] ~ { CrRPC.PutCard16[s, ORD[val.type]]; WITH val SELECT FROM it: REF EnvelopeFormatP1517V1.FateObject.delivered => { CrRPC.PutCard16[s, ORD[it­.delivered]]; }; it: REF EnvelopeFormatP1517V1.FateObject.notDelivered => { CrRPC.PutCard16[s, ORD[it­.notDelivered.reason]]; MProc1[h, s, it­.notDelivered.reportCreationPostmark.postedAt]; CrRPC.PutCard32[s, it­.notDelivered.reportCreationPostmark.time]; }; ENDCASE; }; MProc5: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.RecipientList] ~ { CrRPC.PutCard16[s, val.length]; FOR i22: CARDINAL IN [0..val.length) DO MProc1[h, s, val.body[i22].name]; CrRPC.PutCard16[s, val.body[i22].recipientID]; CrRPC.PutCard16[s, ORD[val.body[i22].report]]; ENDLOOP; }; MProc19: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.SucList] ~ { CrRPC.PutCard16[s, val.length]; FOR i23: CARDINAL IN [0..val.length) DO MProc1[h, s, val.body[i23].recipient.name]; CrRPC.PutCard16[s, val.body[i23].recipient.recipientID]; CrRPC.PutCard16[s, ORD[val.body[i23].recipient.report]]; CrRPC.PutCard32[s, val.body[i23].when]; ENDLOOP; }; MProc4: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.Converted] ~ { CrRPC.PutCard16[s, val.length]; FOR i24: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, ORD[val.body[i24]]]; ENDLOOP; }; MProc1: 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]; MProc26[h, s, it­.gateway.organizationalUnits]; MProc27[h, s, it­.gateway.personal]; MProc28[h, s, it­.gateway.gatewaySpecificInformation]; }; ENDCASE; }; MProc20: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.FailList] ~ { CrRPC.PutCard16[s, val.length]; FOR i29: CARDINAL IN [0..val.length) DO MProc1[h, s, val.body[i29].recipient.name]; CrRPC.PutCard16[s, val.body[i29].recipient.recipientID]; CrRPC.PutCard16[s, ORD[val.body[i29].recipient.report]]; CrRPC.PutCard16[s, ORD[val.body[i29].reason]]; ENDLOOP; }; MProc8: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Envelope] ~ { CrRPC.PutCard16[s, val.length]; FOR i30: CARDINAL IN [0..val.length) DO CrRPC.PutCard32[s, val.body[i30].type]; MProc31[h, s, val.body[i30].value]; ENDLOOP; }; MProc27: 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; }; MProc26: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.OrgUnits] ~ { CrRPC.PutCard16[s, val.length]; FOR i33: CARDINAL IN [0..val.length) DO CrRPC.PutRope[s, val.body[i33]]; ENDLOOP; }; MProc18: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.InvalRecip] ~ { CrRPC.PutCard16[s, val.length]; FOR i34: CARDINAL IN [0..val.length) DO MProc1[h, s, val.body[i34].recipient.name]; CrRPC.PutCard16[s, val.body[i34].recipient.recipientID]; CrRPC.PutCard16[s, ORD[val.body[i34].recipient.report]]; CrRPC.PutCard16[s, ORD[val.body[i34].reason]]; ENDLOOP; }; MProc31: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Opaque] ~ { CrRPC.PutCard16[s, val.length]; FOR i35: CARDINAL IN [0..val.length) DO CrRPC.PutCard16[s, val.body[i35]]; ENDLOOP; }; MProc28: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.GatewaySpecInfo] ~ { CrRPC.PutCard16[s, val.length]; FOR i36: CARDINAL IN [0..val.length) DO CrRPC.PutRope[s, val.body[i36].type]; CrRPC.PutRope[s, val.body[i36].value]; ENDLOOP; }; }...  ŹE•NewlineDelimiter –(cedarcode) style™J˜ąg—…—3ā4/