2014-01-14 14:22:06 +00:00
|
|
|
with System;
|
2013-12-10 16:14:06 +00:00
|
|
|
with System.Storage_Pools;
|
|
|
|
|
|
|
|
package H2 is
|
2014-03-09 18:01:38 +00:00
|
|
|
pragma Preelaborate (H2);
|
2013-12-10 16:14:06 +00:00
|
|
|
|
2014-01-14 14:22:06 +00:00
|
|
|
System_Word_Bits: constant := System.Word_Size;
|
|
|
|
System_Word_Bytes: constant := System_Word_Bits / System.Storage_Unit;
|
|
|
|
|
|
|
|
--type System_Byte is mod 2 ** System.Storage_Unit;
|
|
|
|
--for System_Byte'Size use System.Storage_Unit;
|
|
|
|
|
|
|
|
type System_Word is mod 2 ** System_Word_Bits;
|
|
|
|
--for System_Word'Size use System_Word_Bits;
|
|
|
|
|
|
|
|
type System_Signed_Word is range -(2 ** (System_Word_Bits - 1)) ..
|
|
|
|
+(2 ** (System_Word_Bits - 1)) - 1;
|
|
|
|
--for System_Signed_Word'Size use System_Word_Bits;
|
|
|
|
|
|
|
|
type System_Size is new System_Word range 0 .. (2 ** System_Word_Bits) - 1;
|
2014-05-30 03:15:40 +00:00
|
|
|
subtype System_Length is System_Size;
|
2014-01-14 14:22:06 +00:00
|
|
|
subtype System_Index is System_Size range 1 .. System_Size'Last;
|
|
|
|
|
|
|
|
type Storage_Pool_Pointer is
|
2013-12-10 16:14:06 +00:00
|
|
|
access all System.Storage_Pools.Root_Storage_Pool'Class;
|
|
|
|
|
2014-05-30 03:15:40 +00:00
|
|
|
|
|
|
|
-- TODO: move this to H2.XXXX???
|
|
|
|
type File_Record is tagged null record;
|
|
|
|
type File_Pointer is access all File_Record'Class;
|
|
|
|
|
|
|
|
type Flag_Record is record
|
|
|
|
x: integer;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
type Mode_Record is record
|
|
|
|
x: integer;
|
|
|
|
end record;
|
2013-12-10 16:14:06 +00:00
|
|
|
end H2;
|