DEFINITION MODULE M2Base; (* jr/6oct89,1jan88 *)
(*$ LargeVars:=FALSE StackParms:=FALSE Volatile:=FALSE *)

FROM SYSTEM	IMPORT	ADDRESS, CAST;
FROM Arts	IMPORT	maxModName, maxKeys, ModName, ModKeys, ModType;
FROM DebugDef	IMPORT	ModuleInfo;

(*  =NIL(not loaded)   =spezNIL(loaded but not valid)   >spezNIL(valid) *)
CONST
  spezNIL=CAST(ADDRESS, 1);

TYPE
  MName=ModName;
  MKey=ModKeys;
  MError=(noError, noMem, illegalName, missingLib, missingFile, noCodeFile,
  mangledFile, keyMismatch, nameConflict);
  MPtr=POINTER TO ModuleInfo;
(* for internal use only *)

VAR
  mError: RECORD
    type: MError;
    old: BOOLEAN;
    fName: ARRAY [0..127] OF CHAR;
    name1, name2: MName;
  END;

(* simple memory management for refFile structures *)
PROCEDURE GetMem(VAR a: ADDRESS; s: INTEGER);

PROCEDURE ForgetMem;

END M2Base.def
