-- file: SystemDefs.Mesa
--version for Pilot compatibility

DIRECTORY

Storage USING [Node, Free, String, FreeString];

SystemDefs: DEFINITIONS IMPORTS Storage =
  BEGIN OPEN Storage;

  -- page allocation/deallocation

AllocateHeapNode: PROCEDURE [nwords: CARDINAL] RETURNS [p: POINTER] = INLINE {RETURN[Node[nwords]]};
  
FreeHeapNode: PROCEDURE [p: POINTER] = INLINE {Free[p]};

AllocateHeapString: PROCEDURE [nchars: CARDINAL] RETURNS [STRING] = INLINE
  	{RETURN[String[nchars]]};
		
FreeHeapString: PROCEDURE [s: STRING] = INLINE {FreeString[s]};
  END.