<> <> <> DIRECTORY IO, Rope; FixBadPage: CEDAR DEFINITIONS = BEGIN STREAM: TYPE = IO.STREAM; ROPE: TYPE = Rope.ROPE; PageStatus: TYPE = {unknown, headerPage, dataPage, freePage, error}; RecoverFileWithBadPage: PROC[in, out: STREAM, fileName: ROPE] RETURNS[filePage: INT]; DeleteFileWithBadPage: PROC[in, out: STREAM, fileName: ROPE]; RecoverFromBadPage: PROC[in, out: STREAM, diskPage: INT, drive: INT _ 0] RETURNS[fileName: ROPE]; GetRidOfBadPage: PROC[in, out: STREAM, diskPage: INT, drive: INT _ 0] RETURNS[fileName: ROPE, pageStatus: PageStatus]; END.