-- 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;
};
}...