diff m_config.h @ 17471:63909962d3fc

Profiles support.
author albeu
date Tue, 24 Jan 2006 11:16:13 +0000
parents 5dea9e3618ba
children 96568be4bfdc
line wrap: on
line diff
--- a/m_config.h	Tue Jan 24 11:14:13 2006 +0000
+++ b/m_config.h	Tue Jan 24 11:16:13 2006 +0000
@@ -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 @@
   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 @@
 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 */