-- Copyright (C) 1985, 1986  by Xerox Corporation. All rights reserved. 
-- Pipe.mesa
-- NFS   21-Aug-85 10:26:57

DIRECTORY
  Environment USING [wordsPerPage],
  Stream USING [Handle];
Pipe: DEFINITIONS = {

  Handle: TYPE = LONG POINTER TO Object;

  Object: TYPE;

  NWords: TYPE = CARDINAL;

  defaultBufferSize: NWords = Environment.wordsPerPage * 4;

  Create: PROCEDURE [bufferSize: NWords ← defaultBufferSize]
    RETURNS [h: Handle, producer, consumer: Stream.Handle];

  Delete: PROCEDURE [h: Handle];

  GetProducer: PROCEDURE [h: Handle] RETURNS [Stream.Handle];

  GetConsumer: PROCEDURE [h: Handle] RETURNS [Stream.Handle];

  }.