-- JaMFnsDefs.mesa
-- Written by John Warnock
-- Last changed by Bill Paxton, January 12, 1981 10:50 AM

DIRECTORY
StreamDefs: FROM "StreamDefs" USING [StreamHandle];

JaMFnsDefs: DEFINITIONS =
BEGIN

JaMFns: PROGRAM;

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

DoRegistered
: PROCEDURE[string: STRING];

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

Pop: PROCEDURE;

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
Paxton January 8, 1981 11:22 AM
removed PushObject, PopObject, and RegisterInternal
to eliminate dependency on JaMMasterDefs
add Pop and DoRegistered
Paxton January 12, 1981 10:50 AM
removed PushUser and PopUser