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 ANYNIL
];
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,
msg: ROPE
];
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,
v: Value
];
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,
olist: PropertyArray
];
SessionResult: TYPE = RECORD [
total: INT32,
new: INT32,
unread: INT32,
loPri: Priority,
hiPri: Priority,
lastModifyTime: Time,
lastAccessTime: Time,
e: ErrorInfo
];
MsgIDRange: TYPE = RECORD [
beginId: MsgID,
endId: MsgID
];
MsgInfo: TYPE = RECORD [
msgId: MsgID,
from: ROPE,
to: ROPE,
cc: ROPE,
date: ROPE,
subject: ROPE,
priority: Priority,
filters: FilterSet,
status: Status,
bodyLength: INT32,
bodyLines: INT32
];
MsgInfos: TYPE = SeqType4;
SeqType4: TYPE = REF SeqType4Object;
SeqType4Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF MsgInfo];
MsgInfoResult: TYPE = RECORD [
info: MsgInfos,
e: ErrorInfo
];
MsgTextInfo: TYPE = RECORD [
msgId: MsgID,
beginByte: INT32,
numBytes: INT32,
whence: Whences
];
MsgTextResult: TYPE = RECORD [
body: ROPE,
e: ErrorInfo
];
NewMailResult: TYPE = RECORD [
newMail: BOOLEAN,
e: ErrorInfo
];
FoldersResult: TYPE = RECORD [
folders: Folders,
numFolders: INT32,
e: ErrorInfo
];
Mark: TYPE = RECORD [
msgId: MsgID,
markID: ROPE,
markMsg: ROPE
];
END.