<<>> <> <> <> <> <<>> <> <> <<>> <<>> DIRECTORY IO USING [Value], LoganBerry USING [nullDB, OpenDB], Rope USING [ROPE], TapFilter USING [Agent], TapMsgQueue USING [MsgQueue]; WalnutDefs: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; <> <<>> <> RootHandle: TYPE = REF RootHandleRec; -- see WalnutRoot RootHandleRec: TYPE; LogHandle: TYPE = REF LogHandleRec; -- see WalnutLog LogHandleRec: TYPE; ExpungeHandle: TYPE = REF ExpungeHandleRec; -- see WalnutLogExpunge ExpungeHandleRec: TYPE; SchemaHandle: TYPE = REF SchemaHandleRec; -- see WalnutSchema SchemaHandleRec: TYPE; KernelHandle: TYPE = REF KernelHandleRec; -- see WalnutOpsInternal KernelHandleRec: TYPE; WalnutOpsHandle: TYPE = REF WalnutOpsHandleRec; WalnutOpsHandleRec: TYPE = RECORD[ rootName: ROPE, readOnly: BOOL ¬ FALSE, mailFor: ROPE ¬ NIL, dbName: ROPE ¬ NIL, key: ROPE ¬ NIL, completeSchema: BOOL ¬ TRUE, db: LoganBerry.OpenDB ¬ LoganBerry.nullDB, filterAgent: TapFilter.Agent ¬ NIL, filterFeeder: TapMsgQueue.MsgQueue ¬ NIL, rootHandle: RootHandle, logHandle: LogHandle, expungeHandle: ExpungeHandle, schemaHandle: SchemaHandle, kernelHandle: KernelHandle ]; <> dontCareMsgSetVersion: INT = -1; dontCareDomainVersion: INT = -1; MsgSet: TYPE = RECORD[name: ROPE, version: INT ¬ dontCareMsgSetVersion]; <<>> <> LogInfo: TYPE = RECORD[name: ROPE, logicalStartPos, length: INT]; <> <> <<>> DBLogInfo: TYPE = RECORD[name: ROPE, logicalStartPos, length, firstDestroyedMsgPos, bytesInDestroyedMsgs: INT]; <> <> <> ServerInfo: TYPE = RECORD[server: ROPE, num: INT]; RetrieveState: TYPE = ATOM; -- {OK, communicationFailure, noSuchServer, connectionRejected, badCredentials, didNotRespond, noMailboxes, noServers, unknownFailure, unknownError}; ServerResponse: TYPE = RECORD[server: ROPE, state: RetrieveState, num: INT]; <> GeneralEnumerator: TYPE = REF GeneralEnumeratorRec; GeneralEnumeratorRec: TYPE; SeFromToCcSuDaMid: TYPE = RECORD [ sender: ROPE, from, to, cc, keyword: LIST OF ROPE, subject, fullSubjectText: ROPE, date, msgID: ROPE ]; <> <<>> CheckReportProc: TYPE = PROC[ opsH: WalnutOpsHandle, format: ROPE ¬ NIL, v1, v2, v3: IO.Value ¬ [null[]] ]; <<>> <<>> <> <<>> SchemaMismatch: SIGNAL[explanation: ROPE ¬ NIL]; VersionMismatch: SIGNAL[explanation: ROPE ¬ NIL]; Error: SIGNAL[who, code: ATOM, explanation: ROPE ¬ NIL]; <<>> END.