-- File: LaurelExecImpDefs.mesa
-- edited by Levin, January 20, 1981 5:04 PM.
-- edited by Brotz, October 8, 1980 11:06 AM.

DIRECTORY
inD: FROM "InteractorDefs",
StreamDefs;

LaurelExecImpDefs: DEFINITIONS =

BEGIN

StreamHandle: TYPE = StreamDefs.StreamHandle;
IOState: TYPE = {originalScreen, typescriptActive, goingAway};

takeFromSecondaryChar: CHARACTER = 235C;

-- Exported by ExecSS --

SpliceExecutiveIntoEditor: PROCEDURE;
SpliceExecutiveOutOfEditor: PROCEDURE;

-- Exported by ExecIO --

cmMnp: inD.MessageTextNbrPtr;
realKeyStream: StreamHandle;

lock: MONITORLOCK;
ioState: IOState;

InitializeExecIO: PROCEDURE;
FinalizeExecIO: PROCEDURE;

ResetKS: PROCEDURE[stream: StreamHandle];
PutBackKS: PROCEDURE[stream: StreamHandle, char: UNSPECIFIED];
PutKS: PROCEDURE[stream: StreamHandle, char: UNSPECIFIED];
GetKS: PROCEDURE[stream: StreamHandle] RETURNS[UNSPECIFIED];
InputAcceptor: inD.KeyboardInputAcceptor;
EndOfKS: PROCEDURE[stream: StreamHandle] RETURNS[BOOLEAN];
DestroyKS: PROCEDURE[stream: StreamHandle];

ResetDS: PROCEDURE[stream: StreamHandle];
GetDS: PROCEDURE[stream: StreamHandle] RETURNS[UNSPECIFIED];
PutBackDS: PROCEDURE[stream: StreamHandle, char: UNSPECIFIED];
PutDS: PROCEDURE[stream: StreamHandle, char: UNSPECIFIED];
EndOfDS: PROCEDURE[stream: StreamHandle] RETURNS[empty: BOOLEAN];
DestroyDS: PROCEDURE[stream: StreamHandle];
ClearCurrentLineDS: PROCEDURE[stream: StreamHandle];
ClearLineDS: PROCEDURE[stream: StreamHandle, line: CARDINAL];
ClearCharDS: PROCEDURE[stream: StreamHandle, char: CHARACTER];

RefreshCaret: PROCEDURE [knowCaretPosition: BOOLEAN];
ShortenTypeScript: PROCEDURE;

-- Exported by ExecStorage --

clientPages: CARDINAL;
clientWords: CARDINAL;

-- Exported by ExecKeyboard --

InitSourceSelection: PROCEDURE;
GetFromSourceSelection: PROCEDURE RETURNS [char: CHARACTER];
FlushSourceSelection: PROCEDURE;

-- Exported by ExecIcepick --

Movie: PROCEDURE [villain: STRING];

END.