The Env program is intended for passing arguments and environment variables to started processes. When started, each process automatically sends a request to the Env process and receives the necessary data.
A process query to Env redefines the arguments and environment variables received through Einit.
To use the Env program in your solution, you need to do the following:
1. Develop the code of the Env program by using macros from env/env.h.
2. Build the binary file of the Env program by linking it to the env_server library.
3. In the init description, indicate that the Env process must be started and connected to the selected processes (Env acts a server in this case). The channel name is defined by the ENV_SERVICE_NAME macro declared in the env/env.h file.
4. Include the Env binary file in the solution image.
Env program code
The code of the Env program utilizes the following macros and functions declared in the env/env.h file:
ENV_REGISTER_ARGS(name,argarr) – arguments from the argarr array are passed to the process named name (the maximum size of one element is 256 bytes).ENV_REGISTER_VARS(name,envarr) – environment variables from the envarr array are passed to the process named name (the maximum size of one element is 256 bytes).ENV_REGISTER_PROGRAM_ENVIRONMENT(name,argarr,envarr) – arguments and environment variables are passed to the process named name.envServerRun() – initialize the server part of the Env program so that it can respond to requests.