<> <> <> <> <> <> DIRECTORY FS USING [OpenFile], IO USING [STREAM], Rope USING [ROPE], TextNode USING [Ref]; PutGet: CEDAR DEFINITIONS = BEGIN Ref: TYPE = TextNode.Ref; ROPE: TYPE = Rope.ROPE; MaxLen: INT = LAST[INT]; <> ToFile: PROC [fileName: ROPE, node: Ref, start: INT _ 0, flatten, textOnly: BOOL _ FALSE] RETURNS [dataLen, count: INT]; ToFileC: PROC [file: FS.OpenFile, node: Ref, start: INT _ 0, flatten, textOnly: BOOL _ FALSE] RETURNS [dataLen, count: INT]; <> <> <> <> FromFile: PROC [fileName: ROPE, start: INT _ 0, len: INT _ MaxLen] RETURNS [Ref]; FromFileC: PROC [file: FS.OpenFile, start: INT _ 0, len: INT _ MaxLen] RETURNS [Ref]; <> <> <> <> <> FromFileError: ERROR; WritePlain: PROC[h: IO.STREAM, root: Ref, restoreDashes: BOOL _ FALSE]; WriteFilePlain: PROC [fileName: ROPE, root: Ref]; WriteFileCPlain: PROC [file: FS.OpenFile, root: Ref]; <> WriteMesaFilePlain: PROC [fileName: ROPE, root: Ref]; <> <<>> <> ToRope: PROC [node: Ref, flatten, textOnly: BOOL _ FALSE] RETURNS [dataLen, count: INT, output: ROPE]; <> FromRope: PROC [rope: ROPE, start: INT _ 0, len: INT _ MaxLen] RETURNS [Ref]; <> WriteRopePlain: PROC [root: Ref, restoreDashes: BOOL _ FALSE] RETURNS [output: ROPE]; <> ToStream: PROC [stream: IO.STREAM, node: Ref, flatten, textOnly: BOOL _ FALSE] RETURNS [dataLen, count: INT]; <> <> FromStream: PROC [stream: IO.STREAM, len: INT _ MaxLen] RETURNS [Ref]; <> END.