DEFINITION MODULE ToolManagerL{"toolmanager.library",0};



IMPORT D:ToolManagerD;
IMPORT ED:ExecD;
IMPORT R;
IMPORT SYSTEM;
IMPORT UtilityD;



TYPE
  StrPtr=SYSTEM.ADDRESS;        (* dummy declaration to improve readability *)



VAR
  toolmanagerVersion: INTEGER;
  toolmanagerBase: ED.LibraryPtr;



(* AllocTMHandle -- Allocate a ToolManager handle *)

PROCEDURE AllocTMHandle(): D.TMHandlePtr; CODE -42;



(* ChangeTMObjectTagList -- Change the properties of a ToolManager object *)

PROCEDURE ChangeTMObjectTagList(
            handle{R.A0}: D.TMHandlePtr;
            object{R.A1}: StrPtr;
            tags{R.A2}: UtilityD.TagItemPtr): BOOLEAN; CODE -66;



(* CreateTMObjectTagList -- Create a ToolManager object *)

PROCEDURE CreateTMObjectTagList(
            handle{R.A0}: D.TMHandlePtr;
            name{R.A1}: StrPtr;
            type{R.D0}: LONGINT; (* D.TMObjType *)
            tags{R.A2}: UtilityD.TagItemPtr): BOOLEAN; CODE -54;



(* DeleteTMObject -- Delete a ToolManager object *)

PROCEDURE DeleteTMObject(
            handle{R.A0}: D.TMHandlePtr;
            object{R.A1}: StrPtr): BOOLEAN; CODE -60;



(* FreeTMHandle -- Free a ToolManager handle *)

PROCEDURE FreeTMHandle(handle{R.A0}: D.TMHandlePtr); CODE -48;



(* QuitToolManager -- Send quit signal to ToolManager process *)

PROCEDURE QuitToolManager(); CODE -36;



END ToolManagerL.def
