50 lines
1.4 KiB
Ada
50 lines
1.4 KiB
Ada
|
|
||
|
generic
|
||
|
type Slim_Character is (<>);
|
||
|
type Wide_Character is (<>);
|
||
|
type Slim_String is array(System_Index range<>) of Slim_Character;
|
||
|
type Wide_String is array(System_Index range<>) of Wide_Character;
|
||
|
with function Slim_To_Wide (Slim: in Slim_String) return Wide_String;
|
||
|
with function Wide_To_Slim (Wide: in Wide_String) return Slim_String;
|
||
|
|
||
|
package H2.Sysapi is
|
||
|
|
||
|
type Flag_Record is record
|
||
|
x: integer;
|
||
|
end record;
|
||
|
|
||
|
type Mode_Record is record
|
||
|
x: integer;
|
||
|
end record;
|
||
|
|
||
|
type File_Record is tagged null record;
|
||
|
type File_Pointer is access all File_Record'Class;
|
||
|
|
||
|
type File_Flag is (
|
||
|
RDONLY,
|
||
|
RDWR
|
||
|
);
|
||
|
|
||
|
package File is
|
||
|
procedure Open (File: out File_Pointer;
|
||
|
Name: in Slim_String;
|
||
|
Flag: in Flag_Record;
|
||
|
Mode: in Mode_Record;
|
||
|
Pool: in Storage_Pool_Pointer := null);
|
||
|
|
||
|
procedure Open (File: out File_Pointer;
|
||
|
Name: in Wide_String;
|
||
|
Flag: in Flag_Record;
|
||
|
Mode: in Mode_Record;
|
||
|
Pool: in Storage_Pool_Pointer := null);
|
||
|
|
||
|
procedure Close (File: in out File_Pointer);
|
||
|
end File;
|
||
|
|
||
|
--procedure Open_File (File: out File_Pointer;
|
||
|
-- Flag: in Flag_Record;
|
||
|
-- Mode: in Mode_Record) renames File.Open;
|
||
|
--procedure Close_File (File: in out File_Pointer) renames File.Close;
|
||
|
|
||
|
end H2.Sysapi;
|