Mercurial > mplayer.hg
annotate m_config.h @ 12226:5a1e0b3c1ca5
sync
author | paszczi |
---|---|
date | Sat, 17 Apr 2004 20:37:36 +0000 |
parents | 57bdcdb061d7 |
children | 5dea9e3618ba |
rev | line source |
---|---|
10594
57bdcdb061d7
Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents:
10582
diff
changeset
|
1 #ifndef _M_CONFIG_H |
57bdcdb061d7
Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents:
10582
diff
changeset
|
2 #define _M_CONFIG_H |
8164 | 3 |
4 typedef struct m_config_option m_config_option_t; | |
5 typedef struct m_config_save_slot m_config_save_slot_t; | |
6 struct m_option; | |
7 struct m_option_type; | |
8 | |
9 struct m_config_save_slot { | |
10 m_config_save_slot_t* prev; | |
11 int lvl; | |
12 unsigned char data[0]; | |
13 }; | |
14 | |
15 struct m_config_option { | |
16 m_config_option_t* next; | |
17 char* name; // Full name (ie option:subopt) | |
18 struct m_option* opt; | |
19 m_config_save_slot_t* slots; | |
20 unsigned int flags; // currently it only tell if the option was set | |
21 }; | |
22 | |
23 typedef struct m_config { | |
24 m_config_option_t* opts; | |
25 int lvl; // Current stack level | |
26 int mode; | |
27 } m_config_t; | |
28 | |
9912
39444d65c4cb
Don't save restore all options wich point to the same variable.
albeu
parents:
8168
diff
changeset
|
29 #define M_CFG_OPT_SET (1<<0) |
39444d65c4cb
Don't save restore all options wich point to the same variable.
albeu
parents:
8168
diff
changeset
|
30 #define M_CFG_OPT_ALIAS (1<<1) |
39444d65c4cb
Don't save restore all options wich point to the same variable.
albeu
parents:
8168
diff
changeset
|
31 |
8164 | 32 |
33 //////////////////////////// Functions /////////////////////////////////// | |
34 | |
35 m_config_t* | |
36 m_config_new(void); | |
37 | |
38 void | |
39 m_config_free(m_config_t* config); | |
40 | |
41 void | |
42 m_config_push(m_config_t* config); | |
43 | |
44 void | |
45 m_config_pop(m_config_t* config); | |
46 | |
47 int | |
48 m_config_register_options(m_config_t *config, struct m_option *args); | |
49 | |
50 int | |
51 m_config_set_option(m_config_t *config, char* arg, char* param); | |
52 | |
53 int | |
54 m_config_check_option(m_config_t *config, char* arg, char* param); | |
55 | |
56 struct m_option* | |
57 m_config_get_option(m_config_t *config, char* arg); | |
58 | |
8168 | 59 void |
60 m_config_print_option_list(m_config_t *config); | |
61 | |
10594
57bdcdb061d7
Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents:
10582
diff
changeset
|
62 #endif /* _M_CONFIG_H */ |