<> <> <> <<>> <> DIRECTORY IO USING [STREAM]; WalnutLogExpunge: CEDAR DEFINITIONS = BEGIN <> StartExpunge: PROC[pagesNeeded: INT] RETURNS[expungeFileID: INT]; <> RestartExpunge: PROC[currentLogPos, expungeLogLength: INT] RETURNS[ok: BOOL]; <> CopyBytesToExpungeLog: PROC[bytesToCopy: INT]; <> GetExpungeProgress: PROC[] RETURNS[currentLogPos, expungeLogLength: INT]; <> <<>> EndExpunge: PROC[]; <> <<>> ExpShutdown: PROC[]; <> <> ExpSetPosition: PROC[startPos: INT] RETURNS[charsSkipped: INT]; <> ExpSetIndex: PROC[pos: INT]; <> PeekEntry: PROC[] RETURNS[ident: ATOM, msgID: REF TEXT, at: INT]; <> <<>> SkipEntry: PROC[] RETURNS[ok: BOOL]; <> CopyEntry: PROC[] RETURNS[newPosition, bytesCopied: INT]; <> <<>> EndCopyEntry: PROC RETURNS[startCopyPos: INT]; <> ExpLogLength: PROC[] RETURNS[length: INT]; <> <<>> <<-- the following are used by the WalnutRescue code>> <<>> EntryStatus: TYPE = { validEntry, noValidEntry, EndOfStream }; GetIndex: PROC RETURNS[curPos: INT]; <> <<>> CopyBytes: PROC[strm: IO.STREAM, num: INT]; <> <<>> ExamineThisEntry: PROC RETURNS[status: EntryStatus]; <> <> <<>> END.