Copyright (C) 1994, Digital Equipment Corp.
File: M3File.i3
INTERFACE M3File;
IMPORT File, OSError;
TYPE
Buffer = ARRAY OF CHAR;
BufferLength = [0..16_1000000]; (* = 2^24 = 16MBytes *)
PROCEDURE Read (f: File.T; VAR(*OUT*)buf: Buffer; len: BufferLength): INTEGER
RAISES {OSError.E};
== f.read (LOOPHOLE(buf[0..len-1], ARRAY OF File.Byte), mayBlock := TRUE)
PROCEDURE Copy (src, dest: TEXT) RAISES {OSError.E};
Copy the contents of file src to file dest.
PROCEDURE CopyText (src, dest: TEXT; eol: TEXT) RAISES {OSError.E};
Copy the contents of file src to file dest, dropping all
\r characters and mapping \n into eol.
PROCEDURE IsEqual (a, b: TEXT): BOOLEAN RAISES {OSError.E};
Return TRUE if the files a and b are equal.
PROCEDURE IsDirectory (path: TEXT): BOOLEAN;
Return TRUE if path names a directory.
PROCEDURE IsReadable (path: TEXT): BOOLEAN;
Return TRUE if path is a readable file.
END M3File.