<> <> DIRECTORY Rope, IO; PressFileUtilities: CEDAR DEFINITIONS ~ BEGIN PageRange: TYPE ~ RECORD [startPage, nPages: INT]; SpecError: ERROR [offset: INT]; ParsePageSpec: PROC [pageSpecRope: Rope.ROPE] RETURNS [pageSpec: LIST OF PageRange, charsParsed: INT]; <> ExtractPages: PROC [inputFile, outputFile: Rope.ROPE, pageSpec: LIST OF PageRange] RETURNS [success: BOOLEAN]; BreakIntoSinglePages: PROC [inputFile: Rope.ROPE, message: IO.STREAM _ NIL]; SendSinglePages: PROC [server: Rope.ROPE, inputFile: Rope.ROPE, pageSpec: LIST OF PageRange, message: IO.STREAM _ NIL]; END.