<> <> <> <> DIRECTORY GriffinKernel USING [Data], IO USING [STREAM], Rope USING [ROPE]; GriffinFile: DEFINITIONS = BEGIN -- cannot be CEDAR DEFINITIONS because of unsafe IMPL GriffinFileError: SIGNAL; Data: TYPE = GriffinKernel.Data; DiskHandle: TYPE = IO.STREAM; OpenFile: PROC [filename: Rope.ROPE, write: BOOLEAN _ FALSE] RETURNS [DiskHandle]; <> CloseFile: PROC [diskHandle: DiskHandle]; ReadFigure: PROC [data: Data, diskHandle: DiskHandle]; WriteFigure: PROC [data: Data, diskHandle: DiskHandle]; END.