<> <> <> DIRECTORY Basics USING [Comparison], BasicTime USING [GMT, Now, nullGMT], Commander USING [CommandProc, Handle, Register], CommanderOps USING [Failed, NextArgument], DFUtilities USING [DirectoryItem, FileItem, Filter, IncludeItem, ParseFromStream, ProcessItemProc, UsingList], IO, PFS, PFSNames, Process USING [CheckForAbort], RedBlackTree USING [Compare, Create, Delete, DestroyTable, EachNode, EnumerateIncreasing, GetKey, Insert, Lookup, Table], Rope; CompareDFwithServerImpl: CEDAR MONITOR IMPORTS BasicTime, Commander, CommanderOps, DFUtilities, IO, PFS, PFSNames, Process, RedBlackTree, Rope = BEGIN <> GMT: TYPE = BasicTime.GMT; ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; PATH: TYPE = PFS.PATH; FileEntry: TYPE = REF FileEntryRep; FileEntryRep: TYPE = RECORD [ fullSrcName: ROPE, <> uid: PFS.UniqueID, <> status: FileEntryStatus <> ]; FileEntryStatus: TYPE = {dfOnly, dirOnly, both, differentDates}; fileCount: ARRAY FileEntryStatus OF CARD ¬ ALL[0]; Switches: TYPE = PACKED ARRAY CHAR['a..'z] OF BOOL; <