diff options
Diffstat (limited to 'm_config.h')
-rw-r--r-- | m_config.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/m_config.h b/m_config.h index 0259efe5d1..3abb5dd435 100644 --- a/m_config.h +++ b/m_config.h @@ -3,6 +3,7 @@ typedef struct m_config_option m_config_option_t; typedef struct m_config_save_slot m_config_save_slot_t; +typedef struct m_profile m_profile_t; struct m_option; struct m_option_type; @@ -22,10 +23,21 @@ struct m_config_option { unsigned int flags; // currently it only tell if the option was set }; +struct m_profile { + m_profile_t* next; + char* name; + char* desc; + int num_opts; + char** opts; +}; + typedef struct m_config { m_config_option_t* opts; int lvl; // Current stack level int mode; + m_profile_t* profiles; + int profile_depth; + struct m_option* self_opts; } m_config_t; #define M_CFG_OPT_SET (1<<0) @@ -61,4 +73,17 @@ m_config_get_option(m_config_t *config, char* arg); void m_config_print_option_list(m_config_t *config); +m_profile_t* +m_config_get_profile(m_config_t* config, char* name); + +m_profile_t* +m_config_add_profile(m_config_t* config, char* name); + +void +m_profile_set_desc(m_profile_t* p, char* desc); + +int +m_config_set_profile_option(m_config_t* config, m_profile_t* p, + char* name, char* val); + #endif /* _M_CONFIG_H */ |