source: Daodan/src/Daodan_Config.h@ 1080

Last change on this file since 1080 was 1000, checked in by alloc, 11 years ago

Daodan 3.7

File size: 945 bytes
Line 
1#ifndef DAODAN_CONFIG_H
2#define DAODAN_CONFIG_H
3
4#include "stdint.h"
5
6typedef void (*cmd_callback)();
7
8typedef enum {
9 C_CMD,
10 C_BOOL,
11 C_INT,
12 C_STRING,
13 EXT_BOOL
14} OptionType_t;
15
16typedef union {
17 int intBoolVal;
18 uint8_t* extBoolVal;
19 char* stringVal;
20 cmd_callback callback;
21} OptionValue_t;
22
23typedef struct {
24 char* name;
25 char* description;
26 OptionType_t type;
27 OptionValue_t defaultValue;
28 OptionValue_t value;
29} ConfigOption_t;
30
31typedef struct {
32 char* name;
33 char* description;
34 ConfigOption_t options[20];
35} ConfigSection_t;
36
37
38void DDrConfig(int argc, char* argv[]);
39void DDrConfig_WriteIni();
40
41ConfigOption_t* DDrConfig_GetOptOfType(const char* fullOptName, OptionType_t type);
42const char* DDrConfig_GetOptionTypeName(OptionType_t type);
43const char* DDrConfig_GetOptionValueString(ConfigOption_t* opt, char printdefault);
44char DDrConfig_NonDefaultOptionValue(ConfigOption_t* opt);
45
46#endif
Note: See TracBrowser for help on using the repository browser.