|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 3641 (0xe39)
Types: TextFile
Names: »V«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦4c85d69e2⟧
└─⟦this⟧
with Io_Exceptions;
pragma Elaborate (Io_Exceptions);
generic
type Element_Type is private;
pragma Must_Be_Constrained (Element_Type);
package Direct_Io is
type File_Type is limited private;
type File_Mode is (In_File, Inout_File, Out_File);
type Count is new Integer range 0 .. Integer'Last / Element_Type'Size;
subtype Positive_Count is Count range 1 .. Count'Last;
-- File management
procedure Create (File : in out File_Type;
Mode : File_Mode := Inout_File;
Name : String := "";
Form : String := "");
procedure Open (File : in out File_Type;
Mode : File_Mode;
Name : String;
Form : String := "");
procedure Close (File : in out File_Type);
procedure Delete (File : in out File_Type);
procedure Reset (File : in out File_Type; Mode : File_Mode);
procedure Reset (File : in out File_Type);
function Mode (File : File_Type) return File_Mode;
function Name (File : File_Type) return String;
function Form (File : File_Type) return String;
function Is_Open (File : File_Type) return Boolean;
-- Input and output operations
procedure Read (File : File_Type;
Item : out Element_Type;
From : Positive_Count);
procedure Read (File : File_Type; Item : out Element_Type);
procedure Write (File : File_Type;
Item : Element_Type;
To : Positive_Count);
procedure Write (File : File_Type; Item : Element_Type);
procedure Set_Index (File : File_Type; To : Positive_Count);
function Index (File : File_Type) return Positive_Count;
function Size (File : File_Type) return Count;
function End_Of_File (File : File_Type) return Boolean;
-- Exceptions
Status_Error : exception renames Io_Exceptions.Status_Error;
Mode_Error : exception renames Io_Exceptions.Mode_Error;
Name_Error : exception renames Io_Exceptions.Name_Error;
Use_Error : exception renames Io_Exceptions.Use_Error;
Device_Error : exception renames Io_Exceptions.Device_Error;
End_Error : exception renames Io_Exceptions.End_Error;
Data_Error : exception renames Io_Exceptions.Data_Error;
private
-- implementation dependent
-- In order to have the spec of Direct_Io not be compilation dependent
-- on any non-LRM packages, File_Type is declared as a dummy access.
-- Unchecked_Conversion is used in the body of Direct_Io to convert to
-- the actual file type;
type File_Type is access Integer;
-- suppress creation of a collection for File_Type
for File_Type'Storage_Size use 0;
pragma Suppress (Elaboration_Check, On => Create);
pragma Suppress (Elaboration_Check, On => Open);
pragma Suppress (Elaboration_Check, On => Close);
pragma Suppress (Elaboration_Check, On => Delete);
pragma Suppress (Elaboration_Check, On => Reset);
pragma Suppress (Elaboration_Check, On => Mode);
pragma Suppress (Elaboration_Check, On => Name);
pragma Suppress (Elaboration_Check, On => Form);
pragma Suppress (Elaboration_Check, On => Is_Open);
pragma Suppress (Elaboration_Check, On => Read);
pragma Suppress (Elaboration_Check, On => Write);
pragma Suppress (Elaboration_Check, On => Set_Index);
pragma Suppress (Elaboration_Check, On => Index);
pragma Suppress (Elaboration_Check, On => Size);
pragma Suppress (Elaboration_Check, On => End_Of_File);
end Direct_Io;