/* date = June 17th 2023 10:48 pm */ #ifndef VN_CONFIG_H #define VN_CONFIG_H enum config_entry_type { Config_Entry_S32, Config_Entry_S64, Config_Entry_B32, }; struct config_entry { string Name; void *Target; config_entry_type Type; config_entry *Next; config_entry *Prev; }; struct config_entry_bucket { config_entry *First; config_entry *Last; }; struct config { memory_arena Arena; config_entry_bucket EntryBuckets[32]; }; static config_entry *Config_FindEntryByName(config *Config, string Name); static void Config_ReadFile(config *Config, string Path); static void Config_WriteFile(config *Config); static void Config_BindEntry(config *Config, string Name, config_entry_type, void *Target); #endif //VN_CONFIG_H