#ifndef IZ_CONFIG_H #define IZ_CONFIG_H #include #include #include #include "../common/IZ_common.h" typedef enum { IZ_CONFIG_TYPE_VOID, IZ_CONFIG_TYPE_STRING, IZ_CONFIG_TYPE_U8, IZ_CONFIG_TYPE_U16 } IZ_ConfigType; typedef struct { IZ_ConfigType type; size_t dest_size; const char* section; const char* key; const char* cmdline_option; const void* default_value; void* validator; void* dest; } IZ_ConfigItem; void IZ_ConfigGetDefaultPath(const char*, size_t); const char* IZ_ConfigGetCommandlineOption(u8, const char*[], const char*); void IZ_ConfigInit(IZ_ConfigItem[], const char*, u8, const char*[]); IZ_ProcedureResult IZ_ConfigSave(IZ_ConfigItem[], const char*); #endif