<<>> <> <> <> <> DIRECTORY CrRPC, CHNameP2V0, AuthenticationP14V2, CHOpsP2V3, BulkDataP0V1, Rope; MailTransportP17V5: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; BeginRetrievalType: TYPE ~ PROC [h: CrRPC.Handle, deliverySlot: CHNameP2V0.ThreePartName, credentials: AuthenticationP14V2.Credentials, verifier: AuthenticationP14V2.SeqWords] RETURNS [session: Session]; BeginRetrieval: BeginRetrievalType; BPSeq: TYPE ~ REF BPSeqObject; BPSeqObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD32 ]; TransferProblem: TYPE ~ MACHINE DEPENDENT { aborted(0)}; InvalidNameList: TYPE ~ REF InvalidNameListObject; InvalidNameListObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF InvalidName ]; ServiceErrorType: TYPE ~ ERROR [problem: ServiceProblem]; ServiceError: ServiceErrorType; RetrieveEnvelopeType: TYPE ~ PROC [h: CrRPC.Handle, session: Session] RETURNS [empty: BOOLEAN, envelope: Envelope]; RetrieveEnvelope: RetrieveEnvelopeType; Verifier: TYPE ~ AuthenticationP14V2.SeqWords; AccessErrorType: TYPE ~ ERROR [problem: AccessProblem]; AccessError: AccessErrorType; GatewaySpecInfo: TYPE ~ REF GatewaySpecInfoObject; GatewaySpecInfoObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Attribute ]; PostingData: TYPE ~ RECORD [ recipients: RecipientList, contentsType: CARD32, contentsSize: CARD32, bodyPartTypesSequence: BPSeq]; Attribute: TYPE ~ RECORD [ type: ROPE, value: ROPE]; ReportType: TYPE ~ MACHINE DEPENDENT { none(0), nonDeliveryOnly(1), all(2), unknown(65535)}; MessageID: TYPE ~ ARRAY [0..5) OF CARD16; BrokenName: TYPE ~ RECORD [ given: ROPE, initials: ROPE, family: ROPE, generation: ROPE]; ServiceProblem: TYPE ~ MACHINE DEPENDENT { cannotAuthenticate(0), serviceFull(1), serviceUnavailable(2), mediumFull(3)}; AbortRetrievalType: TYPE ~ PROC [h: CrRPC.Handle, session: Session]; AbortRetrieval: AbortRetrievalType; SessionProblem: TYPE ~ MACHINE DEPENDENT { invalidHandle(0), wrongState(1)}; Recipient: TYPE ~ RECORD [ name: RName, recipientID: CARD16, report: ReportType]; RName: TYPE ~ REF RNameObject; RNameObject: TYPE ~ RECORD [ SELECT type: RNameKind FROM xns => [xns: CHNameP2V0.ThreePartName], gateway => [gateway: GatewayRecord] ENDCASE ]; InvalidReason: TYPE ~ MACHINE DEPENDENT { noSuchRecipient(0), noMailboxForRecipient(1), illegalName(2), noDLsAllowed(3), reportNotAllowed(4)}; SessionToken: TYPE ~ ARRAY [0..2) OF CARD16; OrgUnits: TYPE ~ REF OrgUnitsObject; OrgUnitsObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF ROPE ]; InvalidName: TYPE ~ RECORD [ id: CARD16, invalidReason: InvalidReason]; MailPollType: TYPE ~ PROC [h: CrRPC.Handle, deliverySlot: CHNameP2V0.ThreePartName, credentials: AuthenticationP14V2.Credentials, verifier: AuthenticationP14V2.SeqWords] RETURNS [mailPresent: BOOLEAN]; MailPoll: MailPollType; OptionalEnvItemSeq: TYPE ~ REF OptionalEnvItemSeqObject; OptionalEnvItemSeqObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF EnvelopeItem ]; RNameKind: TYPE ~ MACHINE DEPENDENT { xns(0), gateway(1)}; BeginPostType: TYPE ~ PROC [h: CrRPC.Handle, envelopeData: PostingData, postIfInvalidNames: BOOLEAN, allowDLRecipients: BOOLEAN, optionalEnvelopeData: OptionalEnvItemSeq, credentials: AuthenticationP14V2.Credentials, verifier: AuthenticationP14V2.SeqWords] RETURNS [session: Session, invalidNames: InvalidNameList]; BeginPost: BeginPostType; BodyPartType: TYPE ~ CARD32; RetrieveContentType: TYPE ~ PROC [h: CrRPC.Handle, content: CrRPC.BulkDataSink, session: Session]; RetrieveContent: RetrieveContentType; Credentials: TYPE ~ AuthenticationP14V2.Credentials; ServerPollType: TYPE ~ PROC [h: CrRPC.Handle] RETURNS [willingness: Willingness, address: CHOpsP2V3.NetworkAddressList, serverName: CHNameP2V0.ThreePartName]; ServerPoll: ServerPollType; Willingness: TYPE ~ REF WillingnessObject; WillingnessObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD16 ]; SessionErrorType: TYPE ~ ERROR [problem: SessionProblem]; SessionError: SessionErrorType; EnvelopeItem: TYPE ~ RECORD [ type: CARD32, value: Opaque]; PerChoice: TYPE ~ REF PerChoiceObject; PerChoiceObject: TYPE ~ RECORD [ SELECT type: PerChoiceKind FROM whole => [whole: ROPE], broken => [broken: BrokenName] ENDCASE ]; GatewayRecord: TYPE ~ RECORD [ country: ROPE, adminDomain: ROPE, privateDomain: ROPE, organization: ROPE, organizationalUnits: OrgUnits, personal: PerChoice, gatewaySpecificInformation: GatewaySpecInfo]; ContentsType: TYPE ~ CARD32; Envelope: TYPE ~ REF EnvelopeObject; EnvelopeObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF EnvelopeItem ]; PerChoiceKind: TYPE ~ MACHINE DEPENDENT { whole(0), broken(1)}; InvalidRecipientsType: TYPE ~ ERROR [nameList: InvalidNameList]; InvalidRecipients: InvalidRecipientsType; EnvelopeItemType: TYPE ~ CARD32; RecipientList: TYPE ~ REF RecipientListObject; RecipientListObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF Recipient ]; AccessProblem: TYPE ~ MACHINE DEPENDENT { accessRightsInsufficient(0), accessRightsIndeterminate(1), deliverySlotInUse(2), noSuchDeliverySlot(3), deliverySlotIndeterminate(4), wrongService(5)}; TransferErrorType: TYPE ~ ERROR [problem: TransferProblem]; TransferError: TransferErrorType; EndPostType: TYPE ~ PROC [h: CrRPC.Handle, session: Session, abortPost: BOOLEAN] RETURNS [messageID: MessageID]; EndPost: EndPostType; WillingnessMetric: TYPE ~ CARD16; PostOneBodyPartType: TYPE ~ PROC [h: CrRPC.Handle, session: Session, bodyPartType: CARD32, contents: CrRPC.BulkDataSource]; PostOneBodyPart: PostOneBodyPartType; Name: TYPE ~ CHNameP2V0.ThreePartName; OtherErrorType: TYPE ~ ERROR [problem: OtherProblem]; OtherError: OtherErrorType; EndRetrievalType: TYPE ~ PROC [h: CrRPC.Handle, session: Session]; EndRetrieval: EndRetrievalType; OtherProblem: TYPE ~ MACHINE DEPENDENT { cantExpedite(0), malformedMessage(1), incorrectContentsSize(2), last(65535)}; Opaque: TYPE ~ REF OpaqueObject; OpaqueObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD16 ]; AuthenticationErrorType: TYPE ~ ERROR [problem: AuthenticationP14V2.Problem]; AuthenticationError: AuthenticationErrorType; Session: TYPE ~ RECORD [ token: SessionToken, verifier: AuthenticationP14V2.SeqWords]; }...