--file JaMIODefs.mesa
--Written by John Warnock, January, 1978.
--Last changed by Doug Wyatt, March 29, 1980 1:33 PM

DIRECTORY
JaMMasterDefs: FROM "JaMMasterDefs" USING [Stack],
StreamDefs: FROM "StreamDefs" USING [OtherStreamHandle, StreamHandle];

JaMIODefs: DEFINITIONS =
BEGIN OPEN JaMMasterDefs;

JaMIO: PROGRAM;

-- RdLine and WrtString get and put StringType Objects on the stack.
RdLine: PUBLIC PROCEDURE [stack: Stack];
WrtString:PUBLIC PROCEDURE [stack: Stack];
WrtLine:PUBLIC PROCEDURE [stack: Stack];

-- RdAllocLine reads and allocates VM storage for the line.
-- The string and stream are left on the stack.
RdAllocLine: PUBLIC PROCEDURE [stack:Stack];

-- "Print" prints the string on top of the stack onto the defaultkeystream.

Print
:PUBLIC PROCEDURE;

-- NByteStream, given the file name and options,
-- returns a stream on the stack.
NByteStream: PUBLIC PROCEDURE;

NKeyStream: PUBLIC PROCEDURE ;


--** Edited streams **

EditedHandle: TYPE = StreamDefs.OtherStreamHandle;

MakeIntoEditedStream: PUBLIC PROCEDURE [stream: StreamDefs.StreamHandle]
RETURNS [edstream: EditedHandle];
-- Takes a stream as input and returns another stream which will be
-- edited on a line by line basis.

SetMouseXYProc: PUBLIC PROCEDURE [stream: StreamDefs.StreamHandle,
mouseXYProc: PROCEDURE[CARDINAL, CARDINAL]];

END.

MN February 6, 1980 9:39 PM
added SetMouseXYProc