Annotated Ada Reference ManualLegal Information
Table of Contents   Index   References   Search   Previous   Next 

 A.10.3 Default Input, Output, and Error Files

Static Semantics

1
The following subprograms provide for the control of the particular default files that are used when a file parameter is omitted from a Get, Put, or other operation of text input-output described below, or when application-dependent error-related text is to be output.
2
procedure Set_Input(File : in File_Type);
3
Operates on a file of mode In_File. Sets the current default input file to File.
4
The exception Status_Error is propagated if the given file is not open. The exception Mode_Error is propagated if the mode of the given file is not In_File.
5
procedure Set_Output(File : in File_Type);
procedure Set_Error (File : in File_Type);
6
Each operates on a file of mode Out_File or Append_File. Set_Output sets the current default output file to File. Set_Error sets the current default error file to File. The exception Status_Error is propagated if the given file is not open. The exception Mode_Error is propagated if the mode of the given file is not Out_File or Append_File.
7
function Standard_Input return File_Type;
function Standard_Input return File_Access;
8
Returns the standard input file (see A.10), or an access value designating the standard input file, respectively.
9
function Standard_Output return File_Type;
function Standard_Output return File_Access;
10
Returns the standard output file (see A.10) or an access value designating the standard output file, respectively.
11
function Standard_Error return File_Type;
function Standard_Error return File_Access;
12/1
{8652/0052} {AI95-00194-01} Returns the standard error file (see A.10), or an access value designating the standard error output file, respectively.
13
The Form strings implicitly associated with the opening of Standard_Input, Standard_Output, and Standard_Error at the start of program execution are implementation defined. 
14
function Current_Input return File_Type;
function Current_Input return File_Access;
15
Returns the current default input file, or an access value designating the current default input file, respectively.
16
function Current_Output return File_Type;
function Current_Output return File_Access;
17
Returns the current default output file, or an access value designating the current default output file, respectively.
18
function Current_Error return File_Type;
function Current_Error return File_Access;
19
Returns the current default error file, or an access value designating the current default error file, respectively.
20/1
{8652/0051} {AI95-00057-01} procedure Flush (File : in out File_Type);
procedure Flush;
21
The effect of Flush is the same as the corresponding subprogram in Streams.Stream_IO (see A.12.1). If File is not explicitly specified, Current_Output is used. 

Erroneous Execution

22/1
 {8652/0053} {AI95-00063-01} {erroneous execution (cause) [partial]} The execution of a program is erroneous if it invokes an operation on attempts to use a current default input, default output, or default error file, and if the corresponding file object is closed or that no longer exists. 
22.a.1/1
Ramification: {8652/0053} {AI95-00063-01} Closing a default file, then setting the default file to another open file before accessing it is not erroneous.
23/1
 This paragraph was deleted.{8652/0053} {AI95-00063-01} If the Close operation is applied to a file object that is also serving as the default input, default output, or default error file, then subsequent operations on such a default file are erroneous.
NOTES
24
24  The standard input, standard output, and standard error files cannot be opened, closed, reset, or deleted, because the parameter File of the corresponding procedures has the mode in out.
25
25  The standard input, standard output, and standard error files are different file objects, but not necessarily different external files. 

Wording Changes from Ada 95

25.a/2
{8652/0051} {AI95-00057-01} Corrigendum: Corrected the parameter mode of Flush; otherwise it could not be used on Standard_Output.
25.b/2
{8652/0052} {AI95-00194-01} Corrigendum: Corrected Standard_Error so it refers to the correct file.
25.c/2
{8652/0053} {AI95-00063-01} Corrigendum: Clarified that execution is erroneous only when a closed default file is accessed. 

Table of Contents   Index   References   Search   Previous   Next 
Ada-Europe Sponsored by Ada-Europe