-- FileIOAlpine.mesa
-- Temporary interface to Alpine file streams
-- Last Edited by
--   MBrown on June 8, 1983 10:02 am

  DIRECTORY
    FileIO,
    IO,
    Rope;


FileIOAlpine:  CEDAR DEFINITIONS = BEGIN
  ROPE: TYPE = Rope.ROPE;
  STREAM: TYPE = IO.STREAM;

  Aborted: ERROR [trans: REF ANY];
  Failure: ERROR [what: ATOM, info: ROPE];
    -- designed to parallel DBEnvironment errors
    -- probably not permanent, but perhaps more stable than raw Alpine errors

  AlpineOpen: PROC [
    fileName: ROPE,
    accessOptions: FileIO.AccessOptions ← read,
    createOptions: FileIO.CreateOptions ← none,
    closeOptions: FileIO.CloseOptions ← FileIO.defaultCloseOptions,
    transaction: REF ANY ← NIL, -- AlpTransaction.Handle
    raw: FileIO.RawOption ← FALSE,
    createLength: INT ← 10 * FileIO.bytesPerPage,
    streamBufferParms: FileIO.StreamBufferParms ← FileIO.minimumStreamBufferParms]
    RETURNS [STREAM];

  StreamFromAlpineOpenFile: PROC [
    fileHandle: REF ANY, -- AlpFile.Handle
    fileName: ROPE,
    accessOptions: FileIO.AccessOptions ← read,
    closeOptions: FileIO.CloseOptions ← FileIO.defaultCloseOptions,
    raw: FileIO.RawOption ← FALSE,
    streamBufferParms: FileIO.StreamBufferParms ← FileIO.minimumStreamBufferParms]
    RETURNS [stream: STREAM];

  END.

CHANGE LOG

Created by MBrown on May 10, 1983 2:28 pm

Changed by MBrown on June 8, 1983 10:02 am
-- Defined Aborted, Failure.