LoganBerrySunRPC.Mesa
Copyright Ó 1986 b, 1992y Xerox Corporation. All rights reserved.
Doug Terry, January 4, 1988 2:45:04 pm PST
Adapted from LoganBerryP2205V1.mesa
LoganBerrySunRPC:
CEDAR
DEFINITIONS ~ {
ROPE: TYPE ~ Rope.ROPE;
DeleteEntryType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32, key: ROPE, value: ROPE];
ReadEntryType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32, key: ROPE, value: ROPE] RETURNS [entry: Entry, others: BOOLEAN];
AttributeType: TYPE ~ ROPE;
NullType: TYPE ~ PROC [h: SunRPC.Handle];
CompactLogsType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32];
IndexList: TYPE ~ REF IndexListObject;
IndexListObject:
TYPE ~
MACHINE
DEPENDENT
RECORD [
body: PACKED SEQUENCE length: CARDINAL OF IndexInfo
];
CursorDirection: TYPE ~ MACHINE DEPENDENT { increasing(0), decreasing(1)};
IndexInfo:
TYPE ~
RECORD [
key: ROPE,
file: ROPE,
order: ROPE];
ErrorType: TYPE ~ ERROR [ec: ROPE, explanation: ROPE];
AttributeValue: TYPE ~ ROPE;
Attribute:
TYPE ~
RECORD [
type: ROPE,
value: ROPE];
NextEntryType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, cursor: CARD32, dir: CursorDirection] RETURNS [entry: Entry];
Entry: TYPE ~ REF EntryObject;
EntryObject:
TYPE ~
MACHINE
DEPENDENT
RECORD [
body: PACKED SEQUENCE length: CARDINAL OF Attribute
];
GenerateEntriesType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32, key: ROPE, start: ROPE, end: ROPE] RETURNS [cursor: CARD32];
BuildIndicesType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32];
SchemaInfo:
TYPE ~
RECORD [
dbName: ROPE,
logs: LogList,
indices: IndexList];
EndGenerateType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, cursor: CARD32];
LogList: TYPE ~ REF LogListObject;
LogListObject:
TYPE ~
MACHINE
DEPENDENT
RECORD [
body: PACKED SEQUENCE length: CARDINAL OF LogInfo
];
WriteEntryType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32, entry: Entry, log: CARD32, replace: BOOLEAN];
DescribeType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32] RETURNS [info: SchemaInfo];
CloseType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, db: CARD32];
OpenType: TYPE ~ PROC [h: SunRPC.Handle, conv: CARD32, dbName: ROPE] RETURNS [db: CARD32];
LogInfo:
TYPE ~
RECORD [
id: CARD32,
file: ROPE];
}...