- Usage
- Settings
- Modules
- Admin
- ???
- Client
- ???
- Admin
- Introspection
- ???
- Receive
- ???
- Route
- ???
- Send
- ???
- Validate
- ???
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.