<> <> <> <> <<>> <> <<>> <> <> <> <<(Added NewMail and Archive log position info for restart)>> <<(Changed mDAInfo to be mInfo and changed mAccepted to be mShow -- in multiple log case, this attribute will be used for both Active and Deleted message set enumerations)>> <<>> DIRECTORY DB USING [Domain, Index, Relation], Rope USING [ROPE], WalnutDefs USING [Segment]; WalnutSchema: CEDAR DEFINITIONS = BEGIN OPEN DB; <<>> <> ROPE: TYPE = Rope.ROPE; <<>> <> <> MsgDomain: READONLY Domain; MsgSetDomain: READONLY Domain; ServerDomain: READONLY Domain; UnacceptedDomain: READONLY Domain; <<>> <> gRootInfo: READONLY Relation; gRootFileStamp: CARDINAL = 0; -- rootFile create date for this db gRootFileKey: CARDINAL = 1; -- key from rootFile for this db gMailFor: CARDINAL = 2; -- RName (ROPE) gLogInfo: READONLY Relation; gLogFileID: CARDINAL = 0; -- int gOpInProgressPos: CARDINAL = 1; -- int - long running operation Pos gFirstDestroyedMsgPos: CARDINAL = 2; -- int gBytesInDestroyedMsgs: CARDINAL = 3; -- int gTimeOfLastScavenge: CARDINAL = 4; -- gmt gParseLogInfo: READONLY Relation; gParseLogInProgress: CARDINAL = 0; -- bool gParseLogPos: CARDINAL = 1; -- int gExpungeInfo: READONLY Relation; gLogExpungePhase: CARDINAL = 0; -- int gExpungeFileID: CARDINAL = 1; -- int gCurrentLogPos: CARDINAL = 2; -- int gExpungeLogPos: CARDINAL = 3; -- int gTimeOfLastExpunge: CARDINAL = 4; -- gmt gNewMailInfo: READONLY Relation; gNewMailLogLength: CARDINAL = 0; -- int gCopyNewMailLogPos: CARDINAL = 1; -- int gAcceptNewMailLogPos: CARDINAL = 2; -- int gAddingServerMsgs: CARDINAL = 3; -- bool gLastNewMailTimeStamp: CARDINAL = 4; -- time gReadArchiveInfo: READONLY Relation; gReadArchiveLogPos: CARDINAL = 0; -- int gCopyReadArchiveLogPos: CARDINAL = 1; -- int gVersionInfo: READONLY Relation; gMsgCount: CARDINAL = 0; -- int (number of message in DB) gMsgSetCount: CARDINAL = 1; -- int (number of msgSets in DB) gMsgSetsVersion: CARDINAL = 2; -- int (version number for msgSets) <> <<>> sBasicInfo: READONLY Relation; -- One per Server sBIOf: CARDINAL = 0; -- Server sBINum: CARDINAL = 1; -- int (number of messages) <<>> <<>> <> msBasicInfo: READONLY Relation; -- One per MsgSet msBIOf: CARDINAL = 0; -- MsgSet msBICount: CARDINAL = 1; -- int (number of member msgs) msBIVersion: CARDINAL = 2; -- int msPrintNameIs: CARDINAL = 3; -- rope <<>> <> mTextInfo: READONLY Relation; -- One per Msg mTIOf: CARDINAL = 0; -- Msg mTIHerald: CARDINAL = 1; -- rope mTIShortNameLen: CARDINAL = 2; -- int (for icon label, other uses) mTIEntryStart: CARDINAL = 3; -- int (start of entry in log) mTITextOffset: CARDINAL = 4; -- int (offset for text) mTITextLen: CARDINAL = 5; -- int (length of text) mTIFormatLen: CARDINAL = 6; -- int (length of formatting) <<>> <> mDisplayInfo: READONLY Relation; -- One per Msg mDIOf: CARDINAL = 0; -- Msg mDITOCEntry: CARDINAL = 1; -- rope mDIStartOfSubject: CARDINAL = 2; -- int mDIHasBeenRead: CARDINAL = 3; -- bool <<>> <> mInfo: READONLY Relation; -- One per Msg mInfoOf: CARDINAL = 0; -- Msg mDateIs: CARDINAL = 1; -- time mShowIs: CARDINAL = 2; -- Unaccepted <<>> <> cdRelation: READONLY Relation; -- One per Msg / MsgSet pair cdMsg: CARDINAL = 0; -- Msg cdMsgSet: CARDINAL = 1; -- MsgSet cdDate: CARDINAL = 2; -- time (of the Msg) <<>> cdIndex: READONLY Index; <> Initialize: PROC [segment: WalnutDefs.Segment]; <> <<>> <> <<>> SetSchemaVersion: PROC[segment: WalnutDefs.Segment]; <<>> <> <<>> END.