-- JaMFnsDefs.mesa
-- Written by John Warnock
-- Last changed by Doug Wyatt, September 30, 1980 5:31 PM

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

JaMFnsDefs: DEFINITIONS =
BEGIN OPEN JaMMasterDefs;

JaMFns: PROGRAM;

Register: PROCEDURE[string: STRING, proc: PROCEDURE];

RegisterInternal
: PROCEDURE[proc: PROCEDURE] RETURNS[co: CommandType Object];

JaMExec: PROCEDURE[STRING];

JaMStream: PROCEDURE RETURNS[StreamDefs.StreamHandle];

PushInteger: PROCEDURE[INTEGER];
PopInteger: PROCEDURE RETURNS[INTEGER];

PushLongInteger: PROCEDURE[LONG INTEGER];
PopLongInteger: PROCEDURE RETURNS[LONG INTEGER];
GetLongInteger: PROCEDURE RETURNS[LONG INTEGER];

PushReal: PROCEDURE[REAL];
PopReal: PROCEDURE RETURNS[REAL];
GetReal: PROCEDURE RETURNS[REAL];

PushBoolean: PROCEDURE[BOOLEAN];
PopBoolean: PROCEDURE RETURNS[BOOLEAN];

PushString
: PROCEDURE[STRING];
PopString: PROCEDURE[STRING];

PushStream: PROCEDURE[StreamDefs.StreamHandle];
PopStream: PROCEDURE RETURNS[StreamDefs.StreamHandle];

PushUser: PROCEDURE[type: INTEGER, address: LONG POINTER];
PopUser: PROCEDURE RETURNS[type: INTEGER, address: LONG POINTER];

PushObject: PROCEDURE[obj: Object];
PopObject: PROCEDURE RETURNS[Object];

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

GetJaMBreak: PROCEDURE RETURNS[BOOLEAN];
SetJaMBreak: PROCEDURE[flag: BOOLEAN ← TRUE];

END.

DKW March 25, 1980 3:24 PM
added SetMouseProc

DKW July 25, 1980 4:49 PM
added GetLongInteger

DKW September 30, 1980 5:31 PM
added GetJaMBreak, SetJaMBreak