Overview: Env program
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 theargarrarray are passed to the process namedname(the maximum size of one element is 256 bytes).ENV_REGISTER_VARS(name,envarr)– environment variables from theenvarrarray are passed to the process namedname(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 namedname.envServerRun()– initialize the server part of theEnvprogram so that it can respond to requests.