-- CGBandStream.mesa
-- Last changed by Ken Pier, October 8, 1982 4:32 pm

DIRECTORY
IO USING [STREAM],
FileIO USING [AccessOptions];

CGBandStream: DEFINITIONS
= {

--band related stuff

BandPrefix: TYPE = LONG STRING;
BandIndex: TYPE = CARDINAL;
BandStreamHandle: TYPE = IO.STREAM;
AccessOptions: TYPE = FileIO.AccessOptions;
bufferPages: CARDINAL;

OpenBand: PROC[name: BandPrefix, index: BandIndex, access: AccessOptions]
RETURNS [BandStreamHandle];

PutBand: PROC[band: BandStreamHandle, from: LONG POINTER, words: LONG INTEGER];

StartGetBand: PROC[band: BandStreamHandle];-- initializes GetBand buffer before reading

GetBand: PROC[band: BandStreamHandle, to: LONG POINTER, words: LONG INTEGER] RETURNS [wordsRead: LONG INTEGER];

SkipBand: PROC[band: BandStreamHandle, words: LONG INTEGER] RETURNS [wordsSkipped: LONG INTEGER];

CloseBand: PROC[BandStreamHandle];

SetBufferPages: PROC[bP: CARDINAL];

CGBandStreamImpl: PROGRAM;

}.

LOG

converted to new file format, Pier 2/15/82
converted Put and Get to use LONG POINTERS instead of REFs, 30-Mar-82
converted to Cedar 3.2, June 29, 1982