|
|
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: 17152 (0x4300)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦220843204⟧
└─⟦this⟧
with Action;
with Device_Independent_Io;
with Directory;
with Io_Exceptions;
with Text_Io;
package Io is
pragma Subsystem (Input_Output, Private_Part => Closed);
pragma Module_Name (4, 3506);
type File_Type is private;
subtype File_Mode is Text_Io.File_Mode;
In_File : constant File_Mode := Text_Io.In_File;
Out_File : constant File_Mode := Text_Io.Out_File;
subtype Count is Text_Io.Count;
subtype Positive_Count is Count range 1 .. Count'Last;
Unbounded : constant Count := Text_Io.Unbounded;
subtype Field is Integer range 0 .. Integer'Last;
subtype Number_Base is Integer range 2 .. 16;
subtype Type_Set is Text_Io.Type_Set;
Upper_Case : constant Type_Set := Text_Io.Upper_Case;
Lower_Case : constant Type_Set := Text_Io.Lower_Case;
-- File Management
procedure Create (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Form : String := "");
procedure Open (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String;
Form : String := "");
procedure Open (File : in out File_Type;
Mode : File_Mode;
Object : Directory.Version;
Form : String := "");
-- Open a particular directory version; not Text_IO
procedure Append
(File : in out File_Type; Name : String; Form : String := "");
procedure Append (File : in out File_Type;
Object : Directory.Version;
Form : String := "");
-- Open existing file for output, positioned at end of file; not Text_IO
-- Output starting after an Append is on a new line, but on the same page
-- as the previous end of the file
procedure Flush (File : File_Type);
-- Force any buffer characters out to file
procedure Save (File : File_Type);
-- Save the current contents of the file, but leave it open; calls Flush
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;
-- Control of default input, output and error files; error not Text_IO
procedure Set_Input (File : File_Type);
procedure Set_Output (File : File_Type);
procedure Set_Error (File : File_Type);
-- Equivalent of an Open/Create followed by above; not in Text_IO
procedure Set_Input (Name : String := "<SELECTION>");
procedure Set_Output (Name : String := ">>FILE NAME<<");
procedure Set_Error (Name : String := ">>FILE NAME<<");
function Standard_Input return File_Type;
function Standard_Output return File_Type;
function Standard_Error return File_Type;
function Standard_Error return Text_Io.File_Type;
function Current_Input return File_Type;
function Current_Output return File_Type;
function Current_Error return File_Type;
function Current_Error return Text_Io.File_Type;
-- For each default files, f, Set_f pushes that File_Type entry on a stack
-- for the job. Pop_f removes the top of the stack. Reset is equivalent
-- to a Close and a Pop.
--
-- All open files in the default file stack at job termination are closed.
procedure Reset_Error;
procedure Reset_Input;
procedure Reset_Output;
procedure Pop_Error;
procedure Pop_Input;
procedure Pop_Output;
-- Specification of line and page lengths
procedure Set_Line_Length (File : File_Type; To : Count);
procedure Set_Line_Length (To : Count);
procedure Set_Page_Length (File : File_Type; To : Count);
procedure Set_Page_Length (To : Count);
function Line_Length (File : File_Type) return Count;
function Line_Length return Count;
function Page_Length (File : File_Type) return Count;
function Page_Length return Count;
-- Column, Line and Page Control
procedure New_Line (File : File_Type; Spacing : Positive_Count := 1);
procedure New_Line (Spacing : Positive_Count := 1);
procedure Skip_Line (File : File_Type; Spacing : Positive_Count := 1);
procedure Skip_Line (Spacing : Positive_Count := 1);
function End_Of_Line (File : File_Type) return Boolean;
function End_Of_Line return Boolean;
procedure New_Page (File : File_Type);
procedure New_Page;
procedure Skip_Page (File : File_Type);
procedure Skip_Page;
function End_Of_Page (File : File_Type) return Boolean;
function End_Of_Page return Boolean;
function End_Of_File (File : File_Type) return Boolean;
function End_Of_File return Boolean;
procedure Set_Col (File : File_Type; To : Positive_Count);
procedure Set_Col (To : Positive_Count);
procedure Set_Line (File : File_Type; To : Positive_Count);
procedure Set_Line (To : Positive_Count);
function Col (File : File_Type) return Positive_Count;
function Col return Positive_Count;
function Line (File : File_Type) return Positive_Count;
function Line return Positive_Count;
function Page (File : File_Type) return Positive_Count;
function Page return Positive_Count;
-- Character Input-Output
procedure Get (File : File_Type; Item : out Character);
procedure Get (Item : out Character);
procedure Put (File : File_Type; Item : Character);
procedure Put (Item : Character);
procedure Echo (Item : Character);
-- String Input-Output
procedure Get (File : File_Type; Item : out String);
procedure Get (Item : out String);
procedure Put (File : File_Type; Item : String);
procedure Put (Item : String);
procedure Echo (Item : String := "");
procedure Get_Line
(File : File_Type; Item : out String; Last : out Natural);
procedure Get_Line (Item : out String; Last : out Natural);
procedure Put_Line (File : File_Type; Item : String);
procedure Put_Line (Item : String);
procedure Echo_Line (Item : String := "");
-- String Input-Output not in Text_IO
function Get_Line (File : File_Type) return String;
function Get_Line return String;
procedure Get (File : File_Type;
Item : out String;
Last : out Natural;
End_Of_Line : out Boolean;
End_Of_Page : out Boolean;
End_Of_File : out Boolean);
-- Get all or part of a line.
-- End_Of_Line iff Item contains the end of line (possibly null)
-- End_Of_Page iff End_Of_Line and this is the last line of the page
-- End_Of_File iff End_Of_Page and this is the last page of the file
--
-- The intent if for each call to return as many characters from the
-- line as fit, but Last /= Item'Last doesn't implies End_Of_Line.
-- equivalents for instantiations of the type-specific generics
-- Integer Input-Output; equivalent to an instantiation of Integer_IO
procedure Get (File : File_Type; Item : out Integer; Width : Field := 0);
procedure Get (Item : out Integer; Width : Field := 0);
procedure Put (File : File_Type;
Item : Integer;
Width : Field := 0;
Base : Number_Base := 10);
procedure Put (Item : Integer;
Width : Field := 0;
Base : Number_Base := 10);
procedure Echo (Item : Integer;
Width : Field := 0;
Base : Number_Base := 10);
-- Float Input-Output; equivalent to an instantiation of Float_IO
procedure Get (File : File_Type; Item : out Float; Width : Field := 0);
procedure Get (Item : out Float; Width : Field := 0);
procedure Put (File : File_Type;
Item : Float;
Fore : Field := 2;
Aft : Field := 14;
Exp : Field := 3);
procedure Put (Item : Float;
Fore : Field := 2;
Aft : Field := 14;
Exp : Field := 3);
procedure Echo (Item : Float;
Fore : Field := 2;
Aft : Field := 14;
Exp : Field := 3);
-- Boolean Input-Output; equivalent to an instantiation of Enumeration_IO
procedure Get (File : File_Type; Item : out Boolean);
procedure Get (Item : out Boolean);
procedure Put (File : File_Type; Item : Boolean; Width : Field := 0);
procedure Put (Item : Boolean; Width : Field := 0);
procedure Echo (Item : Boolean; Width : Field := 0);
-- Generic package for Input-Output of Integer Types
generic
type Num is range <>;
package Integer_Io is
Default_Width : Field := Num'Width;
Default_Base : Number_Base := 10;
procedure Get (File : File_Type; Item : out Num; Width : Field := 0);
procedure Get (Item : out Num; Width : Field := 0);
procedure Put (File : File_Type;
Item : Num;
Width : Field := Default_Width;
Base : Number_Base := Default_Base);
procedure Put (Item : Num;
Width : Field := Default_Width;
Base : Number_Base := Default_Base);
procedure Get (From : String; Item : out Num; Last : out Positive);
procedure Put (To : out String;
Item : Num;
Base : Number_Base := Default_Base);
end Integer_Io;
-- Generic package for Input-Output of Floating Point Types
generic
type Num is digits <>;
package Float_Io is
Default_Fore : Field := 2;
Default_Aft : Field := Num'Digits - 1;
Default_Exp : Field := 3;
procedure Get (File : File_Type; Item : out Num; Width : Field := 0);
procedure Get (Item : out Num; Width : Field := 0);
procedure Put (File : File_Type;
Item : Num;
Fore : Field := Default_Fore;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Put (Item : Num;
Fore : Field := Default_Fore;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Get (From : String; Item : out Num; Last : out Positive);
procedure Put (To : out String;
Item : Num;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
end Float_Io;
-- Generic package for Input-Output of Fixed Point Types
generic
type Num is delta <>;
package Fixed_Io is
Default_Fore : Field := Num'Fore;
Default_Aft : Field := Num'Aft;
Default_Exp : Field := 0;
procedure Get (File : File_Type; Item : out Num; Width : Field := 0);
procedure Get (Item : out Num; Width : Field := 0);
procedure Put (File : File_Type;
Item : Num;
Fore : Field := Default_Fore;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Put (Item : Num;
Fore : Field := Default_Fore;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Get (From : String; Item : out Num; Last : out Positive);
procedure Put (To : out String;
Item : Num;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
end Fixed_Io;
-- Generic package for Input-Output of Enumeration Types
generic
type Enum is (<>);
package Enumeration_Io is
Default_Width : Field := 0;
Default_Setting : Type_Set := Upper_Case;
procedure Get (File : File_Type; Item : out Enum);
procedure Get (Item : out Enum);
procedure Put (File : File_Type;
Item : Enum;
Width : Field := Default_Width;
Set : Type_Set := Default_Setting);
procedure Put (Item : Enum;
Width : Field := Default_Width;
Set : Type_Set := Default_Setting);
procedure Get (From : String; Item : out Enum; Last : out Positive);
procedure Put (To : out String;
Item : Enum;
Set : Type_Set := Default_Setting);
end Enumeration_Io;
-- Interchange with other system file_types
--
-- Compatibility with Device_Independendent_IO is solely for the purpose
-- of allowing access to device-specific options at open.
--
-- Interchange of Get/Put and Read/Write operations between IO and
-- Device_Independent_IO is undefined due to internal buffering in IO,
-- though Flush can be used on output to clear the buffer.
--
-- Free interchange of operations with Text_IO is supported.
function Convert (File : File_Type) return Text_Io.File_Type;
function Convert (File : Text_Io.File_Type) return File_Type;
function Convert (File : File_Type) return Device_Independent_Io.File_Type;
function Convert (File : Device_Independent_Io.File_Type) return File_Type;
function "=" (L, R : File_Mode) return Boolean renames Text_Io."=";
function "=" (L, R : Type_Set) return Boolean renames Text_Io."=";
function "<" (L, R : Count) return Boolean renames Text_Io."<";
function "=" (L, R : Count) return Boolean renames Text_Io."=";
function ">" (L, R : Count) return Boolean renames Text_Io.">";
-- Operate on multiple input files matching a wildcard
generic
with procedure Process (File : in out File_Type) is <>;
with procedure Note_Error (Message : String) is Io.Put_Line;
procedure Wildcard_Iterator (Names : String);
-- Calls Process once with an open File corresponding to each of Names
-- Name errors and unhandled expections are reported through Note_Error.
-- Closes File after each call to Process, if not already closed.
procedure Convert (From : Device_Independent_Io.File_Type;
To : in out Text_Io.File_Type);
-- Conversion form that allows changing limited private file_type
-- File management logical overloads. Each procedure duplicates one
-- above, but with direct control over the Action.ID used.
procedure Create (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Form : String := "";
Action_Id : Action.Id);
procedure Open (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String;
Form : String := "";
Action_Id : Action.Id);
procedure Open (File : in out File_Type;
Mode : File_Mode;
Object : Directory.Version;
Form : String := "";
Action_Id : Action.Id);
procedure Append (File : in out File_Type;
Name : String;
Form : String := "";
Action_Id : Action.Id);
procedure Append (File : in out File_Type;
Object : Directory.Version;
Form : String := "";
Action_Id : Action.Id);
function Get_Action (File : File_Type) return Action.Id;
-- 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;
Layout_Error : exception renames Io_Exceptions.Layout_Error;
end Io;