A.8.4 The Generic Package Direct_IO

From OC Systems Wiki!
Jump to: navigation, search

Static Semantics

The generic library package Direct_IO has the following declaration:

with Ada.IO_Exceptions;
    type Element_Type is private;
package Ada.Direct_IO is

    type File_Type is limited private;

    type File_Mode is (In_File, Inout_File, Out_File); 
    type Count     is range 0 .. implementation-defined; 
    subtype Positive_Count is Count range 1 .. Count'Last;

    -- File management

    procedure Create(File in out File_Type; 
                     Mode in File_Mode := Inout_File; 
                     Name in String := ""; 
                     Form in String := "");

    procedure Open  (File in out File_Type;
                     Mode in File_Mode;
                     Name in String; 
                     Form in String := "");

    procedure Close (File in out File_Type); 
    procedure Delete(File in out File_Type); 
    procedure Reset (File in out File_Type; Mode in File_Mode); 
    procedure Reset (File in out File_Type);

    function Mode   (File in File_Type) return File_Mode; 
    function Name   (File in File_Type) return String; 
    function Form   (File in File_Type) return String;

    function Is_Open(File in File_Type) return Boolean;

    -- Input and output operations

    procedure Read (File in File_Type; Item out Element_Type; 
                                         From in Positive_Count); 
    procedure Read (File in File_Type; Item out Element_Type);

    procedure Write(File in File_Type; Item in  Element_Type; 
                                         To   in Positive_Count); 
    procedure Write(File in File_Type; Item in Element_Type);

    procedure Set_Index(File in File_Type; To in Positive_Count);

    function Index(File in File_Type) return Positive_Count; 
    function Size (File in File_Type) return Count;

    function End_Of_File(File in 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;

    ... -- not specified by the language
end Ada.Direct_IO;

Copyright © 1992,1993,1994,1995 Intermetrics, Inc.
Copyright © 2000 The MITRE Corporation, Inc. Ada Reference Manual