| 1 | 
 #ifndef DAODAN_CONFIG_H | 
 
 
 
 
 
 | 2 | 
 #define DAODAN_CONFIG_H | 
 
 
 
 
 
 | 3 | 
  | 
 
 
 
 
 
 | 4 | 
 #include "stdint.h" | 
 
 
 
 
 
 | 5 | 
  | 
 
 
 
 
 
 | 6 | 
 typedef enum { | 
 
 
 
 
 
 | 7 | 
         C_BOOL, | 
 
 
 
 
 
 | 8 | 
         C_INT, | 
 
 
 
 
 
 | 9 | 
         C_STRING, | 
 
 
 
 
 
 | 10 | 
         EXT_BOOL | 
 
 
 
 
 
 | 11 | 
 } OptionType_t; | 
 
 
 
 
 
 | 12 | 
  | 
 
 
 
 
 
 | 13 | 
 typedef union { | 
 
 
 
 
 
 | 14 | 
         int intBoolVal; | 
 
 
 
 
 
 | 15 | 
         uint8_t* extBoolVal; | 
 
 
 
 
 
 | 16 | 
         char* stringVal; | 
 
 
 
 
 
 | 17 | 
 } OptionValue_t; | 
 
 
 
 
 
 | 18 | 
  | 
 
 
 
 
 
 | 19 | 
 typedef struct { | 
 
 
 
 
 
 | 20 | 
         char* name; | 
 
 
 
 
 
 | 21 | 
         char* description; | 
 
 
 
 
 
 | 22 | 
         OptionType_t type; | 
 
 
 
 
 
 | 23 | 
         OptionValue_t defaultValue; | 
 
 
 
 
 
 | 24 | 
         OptionValue_t value; | 
 
 
 
 
 
 | 25 | 
 } ConfigOption_t; | 
 
 
 
 
 
 | 26 | 
  | 
 
 
 
 
 
 | 27 | 
 typedef struct { | 
 
 
 
 
 
 | 28 | 
         char* name; | 
 
 
 
 
 
 | 29 | 
         char* description; | 
 
 
 
 
 
 | 30 | 
         ConfigOption_t options[50]; | 
 
 
 
 
 
 | 31 | 
 } ConfigSection_t; | 
 
 
 
 
 
 | 32 | 
  | 
 
 
 
 
 
 | 33 | 
  | 
 
 
 
 
 
 | 34 | 
 void DDrConfig(int argc, char* argv[]); | 
 
 
 
 
 
 | 35 | 
  | 
 
 
 
 
 
 | 36 | 
 ConfigOption_t* DDrConfig_GetOptOfType(const char* fullOptName, OptionType_t type); | 
 
 
 
 
 
 | 37 | 
 const char* DDrConfig_GetOptionTypeName(OptionType_t type); | 
 
 
 
 
 
 | 38 | 
  | 
 
 
 
 
 
 | 39 | 
 #endif |