-- 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.