include "env.m";
env = load Env Env->PATH;
getenv: fn(var: string): string;
setenv: fn(var: string, val: string): int;
getall: fn(): list of (string, string);
clone: fn(): int;
new: fn(): int;
DESCRIPTION
Env
provides an interface to manipulate environment variables which may then be shared
between processes.
Getenv
returns the value of the environment variable
var
passed as a parameter,
or
nil
if the variable is not set. It does
this by reading the contents of
/env/var.
Setenv
sets the value of the environment variable
var
to
val.
The value may be nil to unset the variable. It does this by writing the string
val
to
/env/var.
The routine returns a negative number if it fails to set the variable for any reason.
Getall
returns all the variables in the current environment as a list of (variable, value) pairs.
Clone
copies the current environment and places the process in a new environment group. Changes now
made to the environment will not affect the environment of other processes.
New
places the process in a new empty environment group. Changes made in this new environment will
not affect other processes.