The system program Env
is intended for setting startup parameters and environment variables of programs. If the Env
program is included in a solution, the processes connected via IPC channel to the Env
process will automatically send IPC requests to this program and receive startup parameters and environment variables when these processes are started.
Use of the Env
system program is an outdated way of setting startup parameters and environment variables of programs. Instead, you must set the startup parameters and environment variables of programs via the init.yaml.in
or init.yaml
file.
If the value of a startup parameter or environment variable of a program is defined through the Env
program and via the init.yaml.in
or init.yaml
file, the value defined through the Env
program will be applied.
To use the Env
program in a solution, you need to do the following:
Env
program using the macros and functions from the header file sysroot-*-kos/include/env/env.h
from the KasperskyOS SDK.Env
program by linking it to the env_server
library from the KasperskyOS SDK.Env
process must be started and connected to other processes (Env
acts as a server in this case). The name of the IPC channel is assigned by the ENV_SERVICE_NAME
macro defined in the header file env.h
.Env
executable file in the solution image.Source code of the Env program
The source code of the Env
program utilizes the following macros and functions from the header file env.h
:
ENV_REGISTER_ARGS(name,argarr)
sets the argarr
startup parameters for the program that will run in the context of the name
process.ENV_REGISTER_VARS(name,envarr)
sets the envarr
environment variables for the program that will run in the context of the name
process.ENV_REGISTER_PROGRAM_ENVIRONMENT(name,argarr,envarr)
sets the argarr
startup parameters and envarr
environment variables for the program that will run in the context of the name
process.envServerRun()
initializes the server part of the Env
program so that it can respond to IPC requests.