A.8.1 The Generic Package Sequential_IO
Static Semantics
The generic library 
package Sequential_IO has the following declaration: 
with Ada.IO_Exceptions;
generic
   type Element_Type(<>) 
is private;
package Ada.Sequential_IO 
is 
   type File_Type 
is limited private;
 
   type File_Mode 
is (In_File, Out_File, Append_File);
 
   -- File management
   procedure Create(File : 
in out File_Type;
                    Mode : 
in File_Mode := Out_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;
 
   procedure Flush (File : 
in File_Type);
 
   -- Input and output operations
   procedure Read  (File : 
in File_Type; Item : 
out Element_Type);
   
procedure Write (File : 
in File_Type; Item : 
in Element_Type);
 
   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;
 
private
   ... -- not specified by the language
end Ada.Sequential_IO;
 The type File_Type needs finalization
 
(see 
7.6) in every instantiation of Sequential_IO.
 
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe