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