File : a-envvar.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                         GNAT RUN-TIME COMPONENTS                         --
   4 --                                                                          --
   5 --              A D A . E N V I R O N M E N T _ V A R I A B L E S           --
   6 --                                                                          --
   7 --                                 S p e c                                  --
   8 --                                                                          --
   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. --
  13 --                                                                          --
  14 ------------------------------------------------------------------------------
  15 
  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.
  18 
  19 package Ada.Environment_Variables is
  20    pragma Preelaborate (Environment_Variables);
  21 
  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.
  28 
  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.
  33 
  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.
  38 
  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.
  44    --
  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.
  48    --
  49    --  It is implementation defined whether there exist values for which the
  50    --  call Set (Name, Value) has the same effect as Clear (Name).
  51 
  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.
  56 
  57    procedure Clear;
  58    --  If the external execution environment supports environment variables,
  59    --  then Clear deletes all existing environment variables. Otherwise
  60    --  Program_Error is propagated.
  61 
  62    procedure Iterate
  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.
  68 
  69 end Ada.Environment_Variables;