-- StreamDefs.Mesa Edited by Sandman on June 30, 1980 5:05 PM
-- Mashed for use in Pilot by Martin Newell: 23-Jul-81 11:53:15
DIRECTORY
Stream USING [Handle],
TTY USING [Handle];
StreamDefs: DEFINITIONS =
BEGIN
StreamHandle: TYPE = POINTER TO StreamObject;
StreamObject: TYPE = RECORD [
reset: PROCEDURE [StreamHandle],
get: PROCEDURE [StreamHandle] RETURNS [UNSPECIFIED],
putback: PROCEDURE [StreamHandle, UNSPECIFIED],
put: PROCEDURE [StreamHandle, UNSPECIFIED],
endof: PROCEDURE [StreamHandle] RETURNS [BOOLEAN],
destroy: PROCEDURE [StreamHandle],
link: StreamHandle,
file: Stream.Handle,
tty: TTY.Handle];
StreamError: SIGNAL [stream: StreamHandle, error: StreamErrorCode];
StreamErrorCode: TYPE = {
StreamType, StreamAccess, StreamOperation, StreamPosition, StreamEnd,
StreamBug};
-- extensions applicable to keyboard streams
-- extensions applicable to disk streams
AccessOptions: TYPE = CARDINAL;
Read: AccessOptions = 1;
Write: AccessOptions = 2;
Append: AccessOptions = 4;
NewByteStream, NewWordStream: PROCEDURE [name: STRING, access: AccessOptions]
RETURNS [StreamHandle];
FileNameError: SIGNAL [name: STRING];
OpenDiskStream, CloseDiskStream: PROCEDURE [stream: StreamHandle];
CleanupDiskStream, TruncateDiskStream: PROCEDURE [stream: StreamHandle];
FileLength: PROCEDURE [stream: StreamHandle] RETURNS [StreamIndex];
-- StreamPosition Stuff
StreamPosition: TYPE = LONG CARDINAL;
StreamIndex: TYPE = LONG CARDINAL;
GetPosition: PROCEDURE [stream: StreamHandle] RETURNS [StreamPosition];
SetPosition: PROCEDURE [stream: StreamHandle, pos: StreamPosition];
-- StreamIndex Stuff
GetIndex: PROCEDURE [stream: StreamHandle] RETURNS [StreamIndex];
SetIndex: PROCEDURE [stream: StreamHandle, index: StreamIndex];
NormalizeIndex: PROCEDURE [index: StreamIndex] RETURNS [StreamIndex];
ModifyIndex: PROCEDURE [index: StreamIndex, change: INTEGER]
RETURNS [StreamIndex];
EqualIndex: PROCEDURE [i1, i2: StreamIndex] RETURNS [BOOLEAN];
GrEqualIndex: PROCEDURE [i1, i2: StreamIndex] RETURNS [BOOLEAN];
GrIndex: PROCEDURE [i1, i2: StreamIndex] RETURNS [BOOLEAN];
END.