<> <> <<>> <> <> <<>> <> DIRECTORY IO USING [STREAM], Rope USING [ROPE], ViewerClasses USING [Viewer], WalnutDefs USING [Segment]; WalnutOpsInternal: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; mailStream: STREAM; newMailSomewhere: BOOL; errorInProgress: BOOL; recentActivity: BOOL; started: BOOL; isShutdown: BOOL; systemIsReadOnly: BOOL; walnutSegment: WalnutDefs.Segment; rootFileName: ROPE; statsStream, statsProgressStream: STREAM; statsProgressTS: ViewerClasses.Viewer; <> CarefullyApply: PROC[proc: PROC[], didUpdate: BOOL]; -- for extended operations (get log write lock); if BOOL is TRUE, op is "inProgress" LongRunningApply: PROC[proc: PROC[inProgress: BOOL]]; StartStatsReporting: PROC; StatsReport: PROC[msg: ROPE]; Restart: PROC; -- used for newMail, readArchive, and scavenge ParseLog: PROC[verbose: BOOL_ FALSE] RETURNS[numNew: INT]; CheckInProgress: PROC; CheckReport: PROC[msg1, msg2, msg3: ROPE_ NIL]; DoLogExpunge: PROC[expungeID: INT]; END.