1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . E N V I R O N M E N T _ V A R I A B L E S --
9 -- This specification is derived from the Ada Reference Manual for use with --
10 -- GNAT. In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification, provided that if you redistribute a --
12 -- modified version, any changes that you have made are clearly indicated. --
14 ------------------------------------------------------------------------------
16 -- The implementation of this package is as defined in the Ada 2012 RM, but
17 -- it is available in Ada 95 and Ada 2005 modes as well.
19 package Ada
.Environment_Variables
is
20 pragma Preelaborate
(Environment_Variables
);
22 function Value
(Name
: String) return String;
23 -- If the external execution environment supports environment variables,
24 -- then Value returns the value of the environment variable with the given
25 -- name. If no environment variable with the given name exists, then
26 -- Constraint_Error is propagated. If the execution environment does not
27 -- support environment variables, then Program_Error is propagated.
29 function Value
(Name
: String; Default
: String) return String;
30 -- If the external execution environment supports environment variables and
31 -- an environment variable with the given name currently exists, then Value
32 -- returns its value; otherwise, it returns Default.
34 function Exists
(Name
: String) return Boolean;
35 -- If the external execution environment supports environment variables and
36 -- an environment variable with the given name currently exists, then
37 -- Exists returns True; otherwise it returns False.
39 procedure Set
(Name
: String; Value
: String);
40 -- If the external execution environment supports environment variables,
41 -- then Set first clears any existing environment variable with the given
42 -- name, and then defines a single new environment variable with the given
43 -- name and value. Otherwise Program_Error is propagated.
45 -- If implementation-defined circumstances prohibit the definition of an
46 -- environment variable with the given name and value, then exception
47 -- Constraint_Error is propagated.
49 -- It is implementation defined whether there exist values for which the
50 -- call Set (Name, Value) has the same effect as Clear (Name).
52 procedure Clear
(Name
: String);
53 -- If the external execution environment supports environment variables,
54 -- then Clear deletes all existing environment variables with the given
55 -- name. Otherwise Program_Error is propagated.
58 -- If the external execution environment supports environment variables,
59 -- then Clear deletes all existing environment variables. Otherwise
60 -- Program_Error is propagated.
63 (Process
: not null access procedure (Name
, Value
: String));
64 -- If the external execution environment supports environment variables,
65 -- then Iterate calls the subprogram designated by Process for each
66 -- existing environment variable, passing the name and value of that
67 -- environment variable. Otherwise Program_Error is propagated.
69 end Ada
.Environment_Variables
;