Next: io.file, Previous: io.call_system, Up: Top [Contents]
%--------------------------------------------------% % vim: ft=mercury ts=4 sw=4 et %--------------------------------------------------% % Copyright (C) 1993-2012 The University of Melbourne. % Copyright (C) 2013-2022 The Mercury team. % This file is distributed under the terms specified in COPYING.LIB. %--------------------------------------------------% % % File: io.environment.m. % % This provides read and write access to the environment variables % inherited by this process from its parent process. % %--------------------------------------------------% %--------------------------------------------------% :- module io.environment. :- interface. :- import_module maybe. %--------------------------------------------------% % The following predicates provide an interface to the environment list. % Do not attempt to put spaces or '=' signs in the names of environment % variables, or bad things may result! % % First argument is the name of the environment variable. Returns % yes(Value) if the variable was set (Value will be set to the value % of the variable) and no if the variable was not set. % :- pred get_environment_var(string::in, maybe(string)::out, io::di, io::uo) is det. % First argument is the name of the environment variable, second argument % is the value to be assigned to that variable. Res is 'ok' on success or % 'error(ErrorCode)' if the system runs out of environment space or if % the environment cannot be modified. % % Note that the environment cannot be modified on Java. % :- pred set_environment_var(string::in, string::in, io.res::out, io::di, io::uo) is det. % Same as set_environment_var/5, but throws an exception if an error % occurs. % :- pred set_environment_var(string::in, string::in, io::di, io::uo) is det. % Test if the set_environment_var/{4,5} predicates are available. % This is false for Java backends. % :- pred have_set_environment_var is semidet. % Return a map containing all the environment variables in the current % environment, together with their values. % :- pred get_environment_var_map(environment_var_map::out, io::di, io::uo) is det. %--------------------------------------------------% %--------------------------------------------------%