summaryrefslogtreecommitdiff
path: root/gcc/ada/a-envvar.ads
blob: 406aee388bb8b2dd90e7e25354363a2a5eca6610 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
------------------------------------------------------------------------------
--                                                                          --
--                         GNAT RUN-TIME COMPONENTS                         --
--                                                                          --
--              A D A . E N V I R O N M E N T _ V A R I A B L E S           --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT.  In accordance with the copyright of that document, you can freely --
-- copy and modify this specification,  provided that if you redistribute a --
-- modified version,  any changes that you have made are clearly indicated. --
--                                                                          --
------------------------------------------------------------------------------

--  The implementation of this package is as defined in the Ada 2012 RM, but
--  it is available in Ada 95 and Ada 2005 modes as well.

package Ada.Environment_Variables is
   pragma Preelaborate (Environment_Variables);

   function Value (Name : String) return String;
   --  If the external execution environment supports environment variables,
   --  then Value returns the value of the environment variable with the given
   --  name. If no environment variable with the given name exists, then
   --  Constraint_Error is propagated. If the execution environment does not
   --  support environment variables, then Program_Error is propagated.

   function Value (Name : String; Default : String) return String;
   --  If the external execution environment supports environment variables and
   --  an environment variable with the given name currently exists, then Value
   --  returns its value; otherwise, it returns Default.

   function Exists (Name : String) return Boolean;
   --  If the external execution environment supports environment variables and
   --  an environment variable with the given name currently exists, then
   --  Exists returns True; otherwise it returns False.

   procedure Set (Name : String; Value : String);
   --  If the external execution environment supports environment variables,
   --  then Set first clears any existing environment variable with the given
   --  name, and then defines a single new environment variable with the given
   --  name and value. Otherwise Program_Error is propagated.
   --
   --  If implementation-defined circumstances prohibit the definition of an
   --  environment variable with the given name and value, then exception
   --  Constraint_Error is propagated.
   --
   --  It is implementation defined whether there exist values for which the
   --  call Set (Name, Value) has the same effect as Clear (Name).

   procedure Clear (Name : String);
   --  If the external execution environment supports environment variables,
   --  then Clear deletes all existing environment variables with the given
   --  name. Otherwise Program_Error is propagated.

   procedure Clear;
   --  If the external execution environment supports environment variables,
   --  then Clear deletes all existing environment variables. Otherwise
   --  Program_Error is propagated.

   procedure Iterate
     (Process : not null access procedure (Name, Value : String));
   --  If the external execution environment supports environment variables,
   --  then Iterate calls the subprogram designated by Process for each
   --  existing environment variable, passing the name and value of that
   --  environment variable. Otherwise Program_Error is propagated.

end Ada.Environment_Variables;