A.15 The Package Command_Line
This Reference Manual output has not been verified, and may contain omissions or errors. Report any problems on the tracking issue
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
2The library package Ada.Command_Line has the following declaration:
package Ada.Command_Line
with Preelaborate, Nonblocking, Global => in out synchronized is
4function Argument_Count return Natural;
5function Argument (Number : in Positive) return String;
6function Command_Name return String;
7type Exit_Status is implementation-defined integer type;
8Success : constant Exit_Status;
Failure : constant Exit_Status;
9procedure Set_Exit_Status (Code : in Exit_Status);
10private
... -- not specified by the language
end Ada.Command_Line;
11function Argument_Count return Natural;
12/3If 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.
function Argument (Number : in Positive) return String;
If the external execution environment supports passing arguments to a program, then Argument returns an implementation-defined value with lower bound 1 corresponding to the argument at relative position Number. If Number is outside the range 1..Argument_Count, then Constraint_Error is propagated.
function Command_Name return String;
If the external execution environment supports passing arguments to a program, then Command_Name returns an implementation-defined value with lower bound 1 corresponding to the name of the command invoking the program; otherwise, Command_Name returns the null string.
type Exit_Status is implementation-defined integer type;
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.
procedure Set_Exit_Status (Code : in Exit_Status);
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.
If the external execution environment does not support returning an exit value from a program, then Set_Exit_Status does nothing.
Implementation Permissions
21An alternative declaration is allowed for package Command_Line if different functionality is appropriate for the external execution environment.
Extensions to Ada 83
Wording Changes from Ada 2012
A.15.1 The Packages Wide_Command_Line and Wide_Wide_Command_Line
1/5The packages Wide_Command_Line and Wide_Wide_Command_Line allow 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/5The specification of package Wide_Command_Line is the same as for Command_Line, except that each occurrence of String is replaced by Wide_String.
The specification of package Wide_Wide_Command_Line is the same as for Command_Line, except that each occurrence of String is replaced by Wide_Wide_String.