hcl/lib/h2.ads

40 lines
1.1 KiB
Ada

with System;
with System.Storage_Pools;
package H2 is
pragma Preelaborate (H2);
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;
subtype System_Length is System_Size;
subtype System_Index is System_Size range 1 .. System_Size'Last;
type Storage_Pool_Pointer is
access all System.Storage_Pools.Root_Storage_Pool'Class;
-- 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;
end H2;