summaryrefslogtreecommitdiffstats
path: root/m_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'm_config.h')
-rw-r--r--m_config.h25
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 */