feat(core): add flags bitfield system

- Replace stk_initialized with stk_flags bitfield
- Add STK_FLAG_INITIALIZED (0x01) and STK_FLAG_LOGGING_ENABLED (0x02)
- Add stk_set_logging_enabled() and stk_is_logging_enabled() API
- Single byte for all boolean state and settings

Logging enabled by default, packs all flags into one byte for efficiency.
This commit is contained in:
2026-02-14 12:39:13 +01:00
parent bcb1795218
commit 26fb19a7f5
3 changed files with 27 additions and 8 deletions
+3 -3
View File
@@ -17,7 +17,7 @@ void **stk_handles = NULL;
stk_init_mod_func *stk_inits = NULL;
stk_shutdown_mod_func *stk_shutdowns = NULL;
extern unsigned char stk_initialized;
extern unsigned char stk_flags;
static char stk_mod_init_name[STK_MOD_FUNC_NAME_BUFFER] = "stk_mod_init";
static char stk_mod_shutdown_name[STK_MOD_FUNC_NAME_BUFFER] =
@@ -253,7 +253,7 @@ void stk_module_unload_all(void)
void stk_set_module_init_fn(const char *name)
{
if (!name || stk_initialized)
if (!name || (stk_flags & STK_FLAG_INITIALIZED))
return;
strncpy(stk_mod_init_name, name, STK_MOD_FUNC_NAME_BUFFER - 1);
@@ -262,7 +262,7 @@ void stk_set_module_init_fn(const char *name)
void stk_set_module_shutdown_fn(const char *name)
{
if (!name || stk_initialized)
if (!name || (stk_flags & STK_FLAG_INITIALIZED))
return;
strncpy(stk_mod_shutdown_name, name, STK_MOD_FUNC_NAME_BUFFER - 1);