Contents   Index   Search   Previous   Next
 A.15 The Package Command_Line
1
   The package Command_Line allows a program to obtain
the values of its arguments and to set the exit status code to be returned
on normal termination. 
Static Semantics
2
   The library package
Ada.Command_Line has the following declaration: 
3
package Ada.Command_Line is
  pragma Preelaborate(Command_Line); 
4
  function Argument_Count return Natural; 
5
  function Argument (Number : in Positive) return String; 
6
  function Command_Name return String; 
7
  type Exit_Status is implementation-defined integer type; 
8
  Success : constant Exit_Status;
  Failure : constant Exit_Status; 
9
  procedure Set_Exit_Status (Code : in Exit_Status); 
10
private
  ... -- not specified by the language
end Ada.Command_Line;
11
function Argument_Count return Natural;
12
If the external
execution environment supports passing arguments to a program, then Argument_Count
returns the number of arguments passed to the program invoking the function.
Otherwise it returns 0. The meaning of ``number of arguments'' is implementation
defined.
13
function Argument (Number : in Positive) return String;
14
If the external
execution environment supports passing arguments to a program, then Argument
returns an implementation-defined value corresponding to the argument
at relative position Number. 
If Number is outside
the range 1..Argument_Count, then Constraint_Error is propagated. 
15
function Command_Name return String;
16
If the external
execution environment supports passing arguments to a program, then Command_Name
returns an implementation-defined value corresponding to the name of
the command invoking the program; otherwise Command_Name returns the
null string.
16.1/1
type Exit_Status is implementation-defined integer type; 
17
The type Exit_Status
represents the range of exit status values supported by the external
execution environment. The constants Success and Failure correspond to
success and failure, respectively.
18
procedure Set_Exit_Status (Code : in Exit_Status);
19
If the external execution environment supports
returning an exit status from a program, then Set_Exit_Status sets Code
as the status. Normal termination of a program returns as the exit status
the value most recently set by Set_Exit_Status, or, if no such value
has been set, then the value Success. If a program terminates abnormally,
the status set by Set_Exit_Status is ignored, and an implementation-defined
exit status value is set.
20
If the external execution environment does
not support returning an exit value from a program, then Set_Exit_Status
does nothing. 
Implementation Permissions
21
    An alternative declaration is allowed for package
Command_Line if different functionality is appropriate for the external
execution environment. 
22
36  Argument_Count, Argument,
and Command_Name correspond to the C language's argc, argv[n] (for n>0)
and argv[0], respectively. 
Contents   Index   Search   Previous   Next   Legal