diff options
Diffstat (limited to 'apps/settings_list.h')
-rw-r--r-- | apps/settings_list.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/apps/settings_list.h b/apps/settings_list.h index 663d9db228..7a5a445469 100644 --- a/apps/settings_list.h +++ b/apps/settings_list.h | |||
@@ -64,22 +64,26 @@ struct filename_setting { | |||
64 | #define F_FILENAME 0x40 | 64 | #define F_FILENAME 0x40 |
65 | 65 | ||
66 | struct int_setting { | 66 | struct int_setting { |
67 | void (*option_callback)(int); | 67 | void (*option_callback)(int); |
68 | int unit; | 68 | int unit; |
69 | int min; | 69 | int min; |
70 | int max; | 70 | int max; |
71 | int step; | 71 | int step; |
72 | void (*formatter)(char*, int, int, const char*); | 72 | void (*formatter)(char*, int, int, const char*); |
73 | }; | 73 | }; |
74 | #define F_INT_SETTING 0x80 | 74 | #define F_INT_SETTING 0x80 |
75 | 75 | ||
76 | struct choice_setting { | 76 | struct choice_setting { |
77 | void (*option_callback)(int); | 77 | void (*option_callback)(int); |
78 | int count; | 78 | int count; |
79 | unsigned char **desc; | 79 | union { |
80 | unsigned char **desc; | ||
81 | int *talks; | ||
82 | }; | ||
80 | }; | 83 | }; |
81 | #define F_CHOICE_SETTING 0x100 | 84 | #define F_CHOICE_SETTING 0x100 |
82 | 85 | #define F_CHOICETALKS 0x200 /* uses .talks in the above struct for the talks */ | |
86 | /* and cfg_vals for the strings to display */ | ||
83 | /* these use the _isfunc_type type for the function */ | 87 | /* these use the _isfunc_type type for the function */ |
84 | /* typedef int (*_isfunc_type)(void); */ | 88 | /* typedef int (*_isfunc_type)(void); */ |
85 | #define F_MIN_ISFUNC 0x100000 /* min(above) is function pointer to above type */ | 89 | #define F_MIN_ISFUNC 0x100000 /* min(above) is function pointer to above type */ |
@@ -96,10 +100,10 @@ struct choice_setting { | |||
96 | - number of bytes for a NVRAM setting is changed | 100 | - number of bytes for a NVRAM setting is changed |
97 | - a NVRAM setting is removed | 101 | - a NVRAM setting is removed |
98 | */ | 102 | */ |
99 | #define F_TEMPVAR 0x200 /* used if the setting should be set using a temp var */ | 103 | #define F_TEMPVAR 0x400 /* used if the setting should be set using a temp var */ |
100 | 104 | ||
101 | struct settings_list { | 105 | struct settings_list { |
102 | uint32_t flags; /* ____ ____ TFFF ____ NNN_ __TC IFRB STTT */ | 106 | uint32_t flags; /* ____ ____ TFFF ____ NNN_ _TVC IFRB STTT */ |
103 | void *setting; | 107 | void *setting; |
104 | int lang_id; /* -1 for none */ | 108 | int lang_id; /* -1 for none */ |
105 | union storage_type default_val; | 109 | union storage_type default_val; |