TabPostOffice.mesa
Please do not edit this file.
It was generated using CedarRPCGen.
DIRECTORY
Rope,
Arpa,
SunRPCAuth,
SunRPC;
TabPostOffice: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
Server: CARDINAL = 40400042;
Vers1: CARDINAL = 1;
tpostartsessionProc:
TYPE =
PROC[o: Server1,
numselects: INT32,
plist: PropInfoArray,
numorders: INT32,
olist: PropertyArray]
RETURNS [res: SessionResult];
tpogetmsginfoProc:
TYPE =
PROC[o: Server1,
beginId: MsgID,
endId: MsgID]
RETURNS [res: MsgInfoResult];
tpogetmsgtextProc:
TYPE =
PROC[o: Server1,
msgId: MsgID,
beginByte: INT32,
numBytes: INT32,
whence: Whences]
RETURNS [res: MsgTextResult];
tpochecknewmailProc:
TYPE =
PROC[o: Server1]
RETURNS [res: NewMailResult];
tpogetfoldersProc:
TYPE =
PROC[o: Server1]
RETURNS [res: FoldersResult];
tpomarkmsgProc:
TYPE =
PROC[o: Server1,
msgId: MsgID,
markID: ROPE,
markMsg: ROPE]
RETURNS [res: ErrorInfo];
tpoendsessionProc:
TYPE =
PROC[o: Server1]
RETURNS [res: ErrorInfo];
Server1: TYPE = REF Server1Object;
Server1Object:
TYPE =
RECORD [
tpostartsession: tpostartsessionProc,
tpogetmsginfo: tpogetmsginfoProc,
tpogetmsgtext: tpogetmsgtextProc,
tpochecknewmail: tpochecknewmailProc,
tpogetfolders: tpogetfoldersProc,
tpomarkmsg: tpomarkmsgProc,
tpoendsession: tpoendsessionProc,
rpcHandle: SunRPC.Handle ← NIL,
rpcConversation: SunRPCAuth.Conversation ← NIL,
data: REF ANY ← NIL
];
MakeServer1Client:
PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [Server1];
MakeServer1Server:
PROC[
data: REF,
tpostartsession: tpostartsessionProc,
tpogetmsginfo: tpogetmsginfoProc,
tpogetmsgtext: tpogetmsgtextProc,
tpochecknewmail: tpochecknewmailProc,
tpogetfolders: tpogetfoldersProc,
tpomarkmsg: tpomarkmsgProc,
tpoendsession: tpoendsessionProc
] RETURNS [SunRPC.Server];
ErrorInfo:
TYPE =
RECORD [
errno: INT32,
Property: TYPE = ROPE;
Relation: TYPE = ROPE;
Value: TYPE = ROPE;
PropertyArray: TYPE = SeqType0;
SeqType0: TYPE = REF SeqType0Object;
SeqType0Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Property];
PropInfo:
TYPE =
RECORD [
p: Property,
r: Relation,
PropInfoArray: TYPE = SeqType1;
SeqType1: TYPE = REF SeqType1Object;
SeqType1Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF PropInfo];
MsgID: TYPE = INT32;
Priority: TYPE = INT32;
Filter: TYPE = ROPE;
FilterSet: TYPE = SeqType2;
SeqType2: TYPE = REF SeqType2Object;
SeqType2Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Filter];
Folder: TYPE = ROPE;
Folders: TYPE = SeqType3;
SeqType3: TYPE = REF SeqType3Object;
SeqType3Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Folder];
Time: TYPE = INT32;
Status:
TYPE =
MACHINE
DEPENDENT {
New(0),
Unread(1),
Read(2)
};
StatusNames: READONLY ARRAY Status OF ROPE;
Whences:
TYPE =
MACHINE
DEPENDENT {
BOM(0),
BOB(1)
};
WhencesNames: READONLY ARRAY Whences OF ROPE;
SessionInfo:
TYPE =
RECORD [
numselects: INT32,
plist: PropInfoArray,
numorders: INT32,
SessionResult:
TYPE =
RECORD [
total: INT32,
new: INT32,
unread: INT32,
loPri: Priority,
hiPri: Priority,
lastModifyTime: Time,
lastAccessTime: Time,
MsgIDRange:
TYPE =
RECORD [
beginId: MsgID,
MsgInfo:
TYPE =
RECORD [
msgId: MsgID,
from: ROPE,
to: ROPE,
cc: ROPE,
date: ROPE,
subject: ROPE,
priority: Priority,
filters: FilterSet,
status: Status,
bodyLength: INT32,
MsgInfos: TYPE = SeqType4;
SeqType4: TYPE = REF SeqType4Object;
SeqType4Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF MsgInfo];
MsgInfoResult:
TYPE =
RECORD [
info: MsgInfos,
MsgTextInfo:
TYPE =
RECORD [
msgId: MsgID,
beginByte: INT32,
numBytes: INT32,
MsgTextResult:
TYPE =
RECORD [
body: ROPE,
NewMailResult:
TYPE =
RECORD [
newMail: BOOLEAN,
FoldersResult:
TYPE =
RECORD [
folders: Folders,
numFolders: INT32,
Mark:
TYPE =
RECORD [
msgId: MsgID,
markID: ROPE,
END.