| 1234567891011121314151617181920212223242526272829303132333435363738 |
- IMPLEMENTATION MODULE SysStorage;
- (* Direct libc heap bindings. *)
- FROM SYSTEM IMPORT ADDRESS;
- PROCEDURE malloc (size : CARDINAL) : ADDRESS;
- EXTERNAL;
- PROCEDURE free (p : ADDRESS);
- EXTERNAL;
- PROCEDURE realloc (p : ADDRESS; size : CARDINAL) : ADDRESS;
- EXTERNAL;
- PROCEDURE ALLOCATE (VAR a : ADDRESS; size : CARDINAL);
- BEGIN
- a := malloc(size)
- END ALLOCATE;
- PROCEDURE DEALLOCATE (VAR a : ADDRESS; size : CARDINAL);
- BEGIN
- free(a);
- a := NIL
- END DEALLOCATE;
- PROCEDURE REALLOCATE (VAR a : ADDRESS; size : CARDINAL);
- BEGIN
- a := realloc(a, size)
- END REALLOCATE;
- PROCEDURE Available (size : CARDINAL) : BOOLEAN;
- BEGIN
- RETURN TRUE
- END Available;
- PROCEDURE Init;
- BEGIN
- END Init;
- END SysStorage.
|