IMPLEMENTATION MODULE SysStorage ;
FROM libc IMPORT malloc, cfree ;
FROM Debug IMPORT Halt ;
PROCEDURE ALLOCATE (VAR a: ADDRESS ; Size: CARDINAL) ;
BEGIN
a := malloc(Size) ;
IF a=NIL
THEN
Halt('out of memory error', __LINE__, __FILE__)
END
END ALLOCATE ;
PROCEDURE DEALLOCATE (a: ADDRESS; Size: CARDINAL);
BEGIN
cfree(a)
END DEALLOCATE ;
PROCEDURE Available (Size: CARDINAL) : BOOLEAN;
VAR
a: ADDRESS ;
BEGIN
a := malloc(Size) ;
IF a=NIL
THEN
RETURN( FALSE )
ELSE
cfree(a) ;
RETURN( TRUE )
END
END Available ;
PROCEDURE Init ;
BEGIN
END Init ;
END SysStorage.