- Usage
- Settings
- Modules
- Admin
- ???
- Client
- ???
- Admin
- Introspection
- ???
- Receive
- ???
- Route
- ???
- Send
- ???
- Validator
- ???
Compile Options are flags that can be passed to make and the builder to enable additional functionality.
Due to the number of Compile Options, it would be a good idea to place your preferred command in a script.
An example using make:
#!/bin/bash
make debug \
A_DEBUG_FLAG=1 \
SOME_DEBUG_FLAG=1 \
ANOTHER_DEBUG_FLAG=1 \
An example with ./bin/builder:
#!/bin/bash
./bin/builder debug \
--jobs $(nproc)
--watch-clean-recursive 'zefina,Makefile*'
--watch-recursive 'zefina,*.c,*.h'
--target-build zefina
A_DEBUG_FLAG=1 \
SOME_DEBUG_FLAG=1 \
ANOTHER_DEBUG_FLAG=1 \
--target-clean zefina-clean
The Compile Options MUST be upper-case.
The Compile Option must be set to a value greater than 0 for the option to be enabled.
A value of 0 will disable the option.
All Compile Options are disabled by default.
Feature: Administrator
| Option | Description |
|---|---|
| ADMIN=1 | Enables the Administrator process. |
| ADMIN_EXIT=1 | Allows the Administrator to stop the Zefina service. |
| ADMIN_INSTALLER=1 | Allows the Administrator to (un)install Zefina modules. |
| ADMIN_LOADER=1 | Allows the Administrator to (un)load Zefina modules. |
ADMIN=1
Requires:
Enables the Administrator process.
This process will listen for and react to all Administrator Commands.
These commands can be used to get information about zefina's state/status, as well as changing Zefina's runtime.
ADMIN_EXIT=1
Requires: ADMIN=1
| Command | Meaning |
|---|---|
| 0x0000 | exit |
The exit command for the Administrator is the same as sending a SIGHUP signal (Ctl-C) to zefina.
This is not enabled by default as its use can be abused and can not be "undone".
ADMIN_INSTALLER=1
Requires: ADMIN=1
| Command | Meaning |
|---|---|
| 0x0100 | install |
| 0x0101 | delete |
| 0x0102 | rename |
This feature allows the Administrator to install modules into the appropriate directory.
Only the installation of modules is handled by the installer, this flag does not load the module.
The installer can also remove "old" modules.
ADMIN_LOADER=1
Requires: ADMIN=1
| Command | Meaning |
|---|---|
| 0x0200 | load |
| 0x0201 | unload |
This feature allows the Administrator to load and unload modules during runtime.
Being able to change which modules are in use makes it possible for activities such as remote updates.
Object: Admin
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ADMIN=1 | The admin object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ADMIN=1
Requires:
The admin object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Client
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_CLIENT=1 | The client object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_CLIENT=1
Requires:
The client object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Feature: Configuration Updates
| Option | Description |
|---|---|
| CONFIG_UPDATE=1 | Enables the Zefina to change its configuration. |
| CONFIG_UPDATE_DELAY=60 | Allows Zefina to write a new configuration file. |
CONFIG_UPDATE=1
Requires:
When zefina's configuration changes, this feature will write a new configuration file so that the new configuration will be used if zefian is restarted.
CONFIG_UPDATE_DELAY=60
Requires: CONFIG_UPDATE=1
By default, zefina will wait one minute before writing a new configuration file.
The value of this flag is the number of seconds to wait before writing.
If the value is 0, then the new configuration file will be written immediately.
Object: Daemon
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_DAEMON=1 | The daemon object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_DAEMON=1
Requires:
The daemon object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Error
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ZEFINAERROR=1 | The error object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ERROR=1
Requires:
The error object will check all the parameters that it receives.
Object: introspection_t
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_INTROSPECTION=1 | The introspection object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_INTROSPECTION=1
Requires:
The introspcetion object will check all the parameters that it receives.
Object: Reader
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ROUTER=1 | The reader object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ROUTER=1
Requires:
The reader object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Router
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ROUTER=1 | The router object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ROUTER=1
Requires:
The router object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Threadpool
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_THREADPOOL=1 | The threadpool object will check passed in parameters. |
| ZEFINA_THREADPOOL_THREAD_COUNT=4 | The number of threads in the threadpool. |
ZEFINA_ASSERT_PARAMETER_THREADPOOL=1
Requires:
The threadpool object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Validator
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_VALIDATOR=1 | The validator object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_VALIDATOR=1
Requires:
The validator object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: Writer
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_WRITER=1 | The writer object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_WRITER=1
Requires:
The writer object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: zefina_t
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ZEFINA=1 | The zefina object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ZEFINA=1
Requires:
The zefina object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.
Object: zefina_config_t
| Option | Description |
|---|---|
| ZEFINA_ASSERT_PARAMETER_ZEFINACONFIG=1 | The zefina_config_ object will check passed in parameters. |
ZEFINA_ASSERT_PARAMETER_ZEFINACONFIG=1
Requires:
The zefina_config_t object will check all the parameters that it receives.
If any parameters is invalid, Zefina will abort execution.