Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
prefs.h
Go to the documentation of this file.
1
11#ifndef __PREFS_H__
12#define __PREFS_H__
13
14#include <glib.h>
15
16#include <epan/params.h>
17#include <epan/range.h>
18
19#include <wsutil/color.h>
20
21#include "ws_symbol_export.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif /* __cplusplus */
26
27#define DEF_WIDTH 750
28#define DEF_HEIGHT 550
29
30#define MAX_VAL_LEN 1024
31
32#define TAP_UPDATE_DEFAULT_INTERVAL 3000
33#define ST_DEF_BURSTRES 5
34#define ST_DEF_BURSTLEN 100
35#define ST_MAX_BURSTRES 600000 /* somewhat arbitrary limit of 10 minutes */
36#define ST_MAX_BURSTBUCKETS 100 /* somewhat arbitrary limit - more buckets degrade performance */
37#define DEF_GUI_DECIMAL_PLACES1 2
38#define DEF_GUI_DECIMAL_PLACES2 4
39#define DEF_GUI_DECIMAL_PLACES3 6
40
41#define CONV_DEINT_KEY_CAPFILE 0x01 /* unused yet */
42#define CONV_DEINT_KEY_INTERFACE 0x02
43#define CONV_DEINT_KEY_MAC 0x04
44#define CONV_DEINT_KEY_VLAN 0x08
45
46struct epan_uat;
47struct _e_addr_resolve;
48
60WS_DLL_PUBLIC
61char string_to_name_resolve(const char *string, struct _e_addr_resolve *name_resolve);
62
63/*
64 * Modes for the starting directory in File Open dialogs.
65 */
66#define FO_STYLE_LAST_OPENED 0 /* start in last directory we looked at */
67#define FO_STYLE_SPECIFIED 1 /* start in specified directory */
68#define FO_STYLE_CWD 2 /* start in current working directory at startup */
69
70/*
71 * Toolbar styles.
72 */
73#define TB_STYLE_ICONS 0
74#define TB_STYLE_TEXT 1
75#define TB_STYLE_BOTH 2
76
77/*
78 * Color styles.
79 */
80#define COLOR_STYLE_DEFAULT 0
81#define COLOR_STYLE_FLAT 1
82#define COLOR_STYLE_GRADIENT 2
83
84#define COLOR_STYLE_ALPHA 0.25
85
86/*
87 * Types of layout of summary/details/hex panes.
88 */
89typedef enum {
90 layout_unused, /* entry currently unused */
91 layout_type_5,
92 layout_type_2,
93 layout_type_1,
94 layout_type_4,
95 layout_type_3,
96 layout_type_6,
97 layout_type_max
98} layout_type_e;
99
100/*
101 * Types of pane.
102 */
103typedef enum {
104 layout_pane_content_none,
105 layout_pane_content_plist,
106 layout_pane_content_pdetails,
107 layout_pane_content_pbytes,
108 layout_pane_content_pdiagram,
109} layout_pane_content_e;
110
111/*
112 * Places version information will show up
113 */
114typedef enum {
115 version_welcome_only,
116 version_title_only,
117 version_both,
118 version_neither
119} version_info_e;
120
121typedef enum {
122 layout_vertical,
123 layout_horizontal
124} splitter_layout_e;
125
126typedef enum {
127 pref_default,
128 pref_stashed,
129 pref_current
130} pref_source_t;
131
132typedef enum {
133 ELIDE_LEFT,
134 ELIDE_RIGHT,
135 ELIDE_MIDDLE,
136 ELIDE_NONE
137} elide_mode_e;
138
139typedef enum {
140 COPY_FORMAT_TEXT,
141 COPY_FORMAT_CSV,
142 COPY_FORMAT_YAML,
143 COPY_FORMAT_HTML
144} copy_format_e;
145
146typedef enum {
147 ABS_TIME_ASCII_NEVER,
148 ABS_TIME_ASCII_TREE,
149 ABS_TIME_ASCII_COLUMN,
150 ABS_TIME_ASCII_ALWAYS,
151} abs_time_format_e;
152
153/*
154 * Update channel.
155 */
156typedef enum {
157 UPDATE_CHANNEL_DEVELOPMENT,
158 UPDATE_CHANNEL_STABLE
159} software_update_channel_e;
160
161typedef struct _e_prefs {
162 GList *col_list;
163 int num_cols;
164 color_t st_client_fg, st_client_bg, st_server_fg, st_server_bg;
165 color_t gui_text_valid, gui_text_invalid, gui_text_deprecated;
166 bool restore_filter_after_following_stream;
167 int gui_toolbar_main_style;
168 char *gui_font_name;
169 color_t gui_active_fg;
170 color_t gui_active_bg;
171 int gui_active_style;
172 color_t gui_inactive_fg;
173 color_t gui_inactive_bg;
174 int gui_inactive_style;
175 color_t gui_marked_fg;
176 color_t gui_marked_bg;
177 color_t gui_ignored_fg;
178 color_t gui_ignored_bg;
179 char *gui_colorized_fg;
180 char *gui_colorized_bg;
181 bool gui_geometry_save_position;
182 bool gui_geometry_save_size;
183 bool gui_geometry_save_maximized;
184 unsigned gui_recent_df_entries_max;
185 unsigned gui_recent_files_count_max;
186 unsigned gui_fileopen_style;
187 char *gui_fileopen_dir;
188 unsigned gui_fileopen_preview;
189 char *gui_tlskeylog_command;
190 bool gui_ask_unsaved;
191 bool gui_autocomplete_filter;
192 bool gui_find_wrap;
193 char *gui_window_title;
194 char *gui_prepend_window_title;
195 char *gui_start_title;
196 version_info_e gui_version_placement;
197 unsigned gui_max_export_objects;
198 unsigned gui_max_tree_items;
199 unsigned gui_max_tree_depth;
200 bool gui_welcome_page_show_recent;
201 layout_type_e gui_layout_type;
202 layout_pane_content_e gui_layout_content_1;
203 layout_pane_content_e gui_layout_content_2;
204 layout_pane_content_e gui_layout_content_3;
205 splitter_layout_e gui_packet_dialog_layout;
206 char *gui_interfaces_hide_types;
207 bool gui_interfaces_show_hidden;
208 bool gui_interfaces_remote_display;
209 bool gui_io_graph_automatic_update;
210 bool gui_io_graph_enable_legend;
211 bool gui_packet_details_show_byteview;
212 char *capture_device;
213 char *capture_devices_linktypes;
214 char *capture_devices_descr;
215 char *capture_devices_hide;
216 char *capture_devices_monitor_mode;
217 char *capture_devices_buffersize;
218 char *capture_devices_snaplen;
219 char *capture_devices_pmode;
220 char *capture_devices_filter; /* XXX - Mostly unused. Deprecate? */
221 bool capture_prom_mode;
222 bool capture_monitor_mode;
223 bool capture_pcap_ng;
224 bool capture_real_time;
225 unsigned capture_update_interval;
226 bool capture_no_interface_load;
227 bool capture_no_extcap;
228 bool capture_show_info;
229 GList *capture_columns;
230 unsigned tap_update_interval;
231 bool display_hidden_proto_items;
232 bool display_byte_fields_with_spaces;
233 abs_time_format_e display_abs_time_ascii;
234 bool enable_incomplete_dissectors_check;
235 bool incomplete_dissectors_check_debug;
236 bool strict_conversation_tracking_heuristics;
237 int conversation_deinterlacing_key;
238 bool ignore_dup_frames;
239 unsigned ignore_dup_frames_cache_entries;
240 bool filter_expressions_old; /* true if old filter expressions preferences were loaded. */
241 bool cols_hide_new; /* true if the new (index-based) gui.column.hide preference was loaded. */
242 bool gui_update_enabled;
243 software_update_channel_e gui_update_channel;
244 int gui_update_interval;
245 int gui_debounce_timer;
246 char *saved_at_version;
247 bool unknown_prefs; /* unknown or obsolete pref(s) */
248 bool gui_packet_list_separator;
249 bool gui_packet_header_column_definition;
250 bool gui_packet_list_hover_style; /* Enable/Disable mouse-over colorization */
251 bool gui_show_selected_packet;
252 bool gui_show_file_load_time;
253 elide_mode_e gui_packet_list_elide_mode;
254 copy_format_e gui_packet_list_copy_format_options_for_keyboard_shortcut;
255 bool gui_packet_list_copy_text_with_aligned_columns;
256 bool gui_packet_list_show_related;
257 bool gui_packet_list_show_minimap;
258 bool gui_packet_list_sortable;
259 unsigned gui_packet_list_cached_rows_max;
260 int gui_decimal_places1; /* Used for type 1 calculations */
261 int gui_decimal_places2; /* Used for type 2 calculations */
262 int gui_decimal_places3; /* Used for type 3 calculations */
263 bool gui_rtp_player_use_disk1;
264 bool gui_rtp_player_use_disk2;
265 unsigned flow_graph_max_export_items;
266 bool st_enable_burstinfo;
267 bool st_burst_showcount;
268 int st_burst_resolution;
269 int st_burst_windowlen;
270 bool st_sort_casesensitve;
271 bool st_sort_rng_fixorder;
272 bool st_sort_rng_nameonly;
273 int st_sort_defcolflag;
274 bool st_sort_defdescending;
275 bool st_sort_showfullname;
276 bool extcap_save_on_start;
277} e_prefs;
278
279WS_DLL_PUBLIC e_prefs prefs;
280
281/*
282 * Routines to let modules that have preference settings register
283 * themselves by name, and to let them register preference settings
284 * by name.
285 */
286struct pref_module;
287
288struct pref_custom_cbs;
289
290typedef struct pref_module module_t;
291
293void prefs_init(void);
294
296WS_DLL_PUBLIC void prefs_reset(void);
297
299void prefs_cleanup(void);
300
304WS_DLL_PUBLIC void prefs_set_gui_theme_is_dark(bool is_dark);
305
314WS_DLL_PUBLIC module_t *prefs_register_protocol(int id, void (*apply_cb)(void));
315
322WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module);
323
329void prefs_deregister_protocol(int id);
330
341WS_DLL_PUBLIC module_t *prefs_register_stat(const char *name, const char *title,
342 const char *description, void (*apply_cb)(void));
343
354WS_DLL_PUBLIC module_t *prefs_register_codec(const char *name, const char *title,
355 const char *description, void (*apply_cb)(void));
356
368WS_DLL_PUBLIC module_t *prefs_register_protocol_subtree(const char *subtree, int id,
369 void (*apply_cb)(void));
370
378WS_DLL_PUBLIC module_t *prefs_register_protocol_obsolete(int id);
379
383typedef unsigned (*module_cb)(module_t *module, void *user_data);
384
390WS_DLL_PUBLIC bool prefs_module_has_submodules(module_t *module);
391
403WS_DLL_PUBLIC unsigned prefs_modules_foreach(module_cb callback, void *user_data);
404
420WS_DLL_PUBLIC unsigned prefs_modules_foreach_submodules(module_t *module, module_cb callback, void *user_data);
421
428WS_DLL_PUBLIC void prefs_apply_all(void);
429
437WS_DLL_PUBLIC void prefs_apply(module_t *module);
438
439
440struct preference;
441
442typedef struct preference pref_t;
443
449WS_DLL_PUBLIC bool prefs_is_registered_protocol(const char *name);
450
456WS_DLL_PUBLIC const char *prefs_get_title_by_name(const char *name);
457
466WS_DLL_PUBLIC module_t *prefs_find_module(const char *name);
467
477WS_DLL_PUBLIC pref_t *prefs_find_preference(module_t * module, const char *pref);
478
496WS_DLL_PUBLIC void prefs_register_uint_preference(module_t *module, const char *name,
497 const char *title, const char *description, unsigned base, unsigned *var);
498
499/*
500 * prefs_register_ callers must conform to the following:
501 *
502 * Names must be in lowercase letters only (underscore allowed).
503 * Titles and descriptions must be valid UTF-8 or NULL.
504 * Titles must be short (less than 80 characters)
505 * Titles must not contain newlines.
506 */
507
524WS_DLL_PUBLIC void prefs_register_bool_preference(module_t *module, const char *name,
525 const char *title, const char *description, bool *var);
526
547WS_DLL_PUBLIC void prefs_register_enum_preference(module_t *module, const char *name,
548 const char *title, const char *description, int *var,
549 const enum_val_t *enumvals, bool radio_buttons);
550
572WS_DLL_PUBLIC void prefs_register_string_preference(module_t *module, const char *name,
573 const char *title, const char *description, const char **var);
574
602WS_DLL_PUBLIC void prefs_register_filename_preference(module_t *module, const char *name,
603 const char *title, const char *description, const char **var, bool for_writing);
604
629WS_DLL_PUBLIC void prefs_register_directory_preference(module_t *module, const char *name,
630 const char *title, const char *description, const char **var);
631
649WS_DLL_PUBLIC void prefs_register_range_preference(module_t *module, const char *name,
650 const char *title, const char *description, range_t **var,
651 uint32_t max_value);
652
667WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name,
668 const char *title, const char *description);
669
687WS_DLL_PUBLIC void prefs_register_uat_preference(module_t *module,
688 const char *name, const char* title, const char *description, struct epan_uat* uat);
689
707WS_DLL_PUBLIC void prefs_register_uat_preference_qt(module_t *module,
708 const char *name, const char* title, const char *description, struct epan_uat* uat);
709
710
731void prefs_register_color_preference(module_t *module, const char *name,
732 const char *title, const char *description, color_t *color);
733
755 const char *title, const char *description, struct pref_custom_cbs* custom_cbs,
756 void** custom_data);
757
778 const char *title, const char *description, range_t **var,
779 uint32_t max_value, const char *dissector_table, const char *dissector_description);
780
797WS_DLL_PUBLIC void prefs_register_password_preference(module_t *module, const char *name,
798 const char *title, const char *description, const char **var);
799
821WS_DLL_PUBLIC void prefs_register_dissector_preference(module_t *module, const char *name,
822 const char *title, const char *description, const char **var);
823
840WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module,
841 const char *name);
842
863WS_DLL_PUBLIC void prefs_register_custom_preference_TCP_Analysis(module_t *module, const char *name,
864 const char *title, const char *description, int *var,
865 const enum_val_t *enumvals, bool radio_buttons);
866
881WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module,
882 const char *name);
883
884
885typedef unsigned (*pref_cb)(pref_t *pref, void *user_data);
886
901WS_DLL_PUBLIC unsigned prefs_pref_foreach(module_t *module, pref_cb callback,
902 void *user_data);
903
914WS_DLL_PUBLIC GList *prefs_get_string_list(const char *str);
915
920WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl);
921
928WS_DLL_PUBLIC
929const char *prefs_pref_type_name(pref_t *pref);
930
939WS_DLL_PUBLIC
941
949WS_DLL_PUBLIC
950char *prefs_pref_to_str(pref_t *pref, pref_source_t source);
951
962extern e_prefs *read_prefs(void);
963
973WS_DLL_PUBLIC int write_prefs(char **pf_path_return);
974
978typedef enum {
979 PREFS_SET_OK, /* succeeded */
980 PREFS_SET_SYNTAX_ERR, /* syntax error in string */
981 PREFS_SET_NO_SUCH_PREF, /* no such preference */
982 PREFS_SET_OBSOLETE /* preference used to exist but no longer does */
984
998WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg);
999
1009
1017
1027WS_DLL_PUBLIC unsigned prefs_get_uint_value(const char *module_name, const char* pref_name);
1028
1038WS_DLL_PUBLIC range_t* prefs_get_range_value(const char *module_name, const char* pref_name);
1039
1045WS_DLL_PUBLIC bool prefs_is_capture_device_hidden(const char *name);
1046
1052WS_DLL_PUBLIC bool prefs_capture_device_monitor_mode(const char *name);
1053
1060WS_DLL_PUBLIC bool prefs_capture_options_dialog_column_is_visible(const char *column);
1061
1068WS_DLL_PUBLIC bool prefs_has_layout_pane_content (layout_pane_content_e layout_pane_content);
1069
1070#ifdef __cplusplus
1071}
1072#endif /* __cplusplus */
1073
1074#endif /* prefs.h */
1075
1076/*
1077 * Editor modelines - https://www.wireshark.org/tools/modelines.html
1078 *
1079 * Local variables:
1080 * c-basic-offset: 4
1081 * tab-width: 8
1082 * indent-tabs-mode: nil
1083 * End:
1084 *
1085 * vi: set shiftwidth=4 tabstop=8 expandtab:
1086 * :indentSize=4:tabSize=8:noTabs=true:
1087 */
void prefs_init(void)
Definition prefs.c:346
WS_DLL_PUBLIC module_t * prefs_register_codec(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition prefs.c:828
WS_DLL_PUBLIC void prefs_register_filename_preference(module_t *module, const char *name, const char *title, const char *description, const char **var, bool for_writing)
Definition prefs.c:1600
WS_DLL_PUBLIC module_t * prefs_register_protocol_subtree(const char *subtree, int id, void(*apply_cb)(void))
Definition prefs.c:690
WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg)
Definition prefs.c:5076
WS_DLL_PUBLIC void prefs_register_uat_preference(module_t *module, const char *name, const char *title, const char *description, struct epan_uat *uat)
Definition prefs.c:1839
e_prefs * read_prefs(void)
Definition prefs.c:4720
WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl)
Definition prefs.c:4200
void prefs_register_color_preference(module_t *module, const char *name, const char *title, const char *description, color_t *color)
Definition prefs.c:1873
WS_DLL_PUBLIC range_t * prefs_get_range_value(const char *module_name, const char *pref_name)
Definition prefs.c:1800
WS_DLL_PUBLIC bool prefs_capture_options_dialog_column_is_visible(const char *column)
Definition prefs.c:5381
bool prefs_get_preference_obsolete(pref_t *pref)
Definition prefs.c:2111
WS_DLL_PUBLIC void prefs_register_directory_preference(module_t *module, const char *name, const char *title, const char *description, const char **var)
Definition prefs.c:1614
WS_DLL_PUBLIC void prefs_register_range_preference(module_t *module, const char *name, const char *title, const char *description, range_t **var, uint32_t max_value)
Definition prefs.c:1656
prefs_set_pref_e prefs_set_preference_obsolete(pref_t *pref)
Definition prefs.c:2123
WS_DLL_PUBLIC char * prefs_pref_type_description(pref_t *pref)
Definition prefs.c:6651
WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module, const char *name)
Definition prefs.c:2093
WS_DLL_PUBLIC module_t * prefs_find_module(const char *name)
Definition prefs.c:848
WS_DLL_PUBLIC unsigned prefs_modules_foreach_submodules(module_t *module, module_cb callback, void *user_data)
Definition prefs.c:950
WS_DLL_PUBLIC void prefs_apply_all(void)
Definition prefs.c:980
WS_DLL_PUBLIC void prefs_register_string_preference(module_t *module, const char *name, const char *title, const char *description, const char **var)
Definition prefs.c:1586
void prefs_register_decode_as_range_preference(module_t *module, const char *name, const char *title, const char *description, range_t **var, uint32_t max_value, const char *dissector_table, const char *dissector_description)
Definition prefs.c:2007
WS_DLL_PUBLIC bool prefs_has_layout_pane_content(layout_pane_content_e layout_pane_content)
Definition prefs.c:5396
unsigned(* module_cb)(module_t *module, void *user_data)
Definition prefs.h:383
WS_DLL_PUBLIC bool prefs_is_registered_protocol(const char *name)
Definition prefs.c:1193
WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name, const char *title, const char *description)
Definition prefs.c:1827
WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module, const char *name)
Definition prefs.c:2099
WS_DLL_PUBLIC const char * prefs_get_title_by_name(const char *name)
Definition prefs.c:1204
WS_DLL_PUBLIC void prefs_set_gui_theme_is_dark(bool is_dark)
Definition prefs.c:450
WS_DLL_PUBLIC unsigned prefs_pref_foreach(module_t *module, pref_cb callback, void *user_data)
Definition prefs.c:2446
WS_DLL_PUBLIC void prefs_register_uat_preference_qt(module_t *module, const char *name, const char *title, const char *description, struct epan_uat *uat)
Definition prefs.c:1854
WS_DLL_PUBLIC pref_t * prefs_find_preference(module_t *module, const char *pref)
Definition prefs.c:1184
WS_DLL_PUBLIC module_t * prefs_register_protocol_obsolete(int id)
Definition prefs.c:756
void prefs_deregister_protocol(int id)
Definition prefs.c:679
WS_DLL_PUBLIC bool prefs_capture_device_monitor_mode(const char *name)
Definition prefs.c:5357
WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module)
Definition prefs.c:611
prefs_set_pref_e
Definition prefs.h:978
WS_DLL_PUBLIC char * prefs_pref_to_str(pref_t *pref, pref_source_t source)
Definition prefs.c:6846
WS_DLL_PUBLIC const char * prefs_pref_type_name(pref_t *pref)
Definition prefs.c:6509
void prefs_cleanup(void)
Definition prefs.c:432
WS_DLL_PUBLIC unsigned prefs_get_uint_value(const char *module_name, const char *pref_name)
Definition prefs.c:5143
WS_DLL_PUBLIC void prefs_register_uint_preference(module_t *module, const char *name, const char *title, const char *description, unsigned base, unsigned *var)
Definition prefs.c:1215
WS_DLL_PUBLIC int write_prefs(char **pf_path_return)
Definition prefs.c:7179
WS_DLL_PUBLIC void prefs_reset(void)
Definition prefs.c:4611
WS_DLL_PUBLIC void prefs_register_dissector_preference(module_t *module, const char *name, const char *title, const char *description, const char **var)
Definition prefs.c:2037
WS_DLL_PUBLIC module_t * prefs_register_protocol(int id, void(*apply_cb)(void))
Definition prefs.c:654
WS_DLL_PUBLIC GList * prefs_get_string_list(const char *str)
Definition prefs.c:4071
WS_DLL_PUBLIC unsigned prefs_modules_foreach(module_cb callback, void *user_data)
Definition prefs.c:934
WS_DLL_PUBLIC void prefs_apply(module_t *module)
Definition prefs.c:992
WS_DLL_PUBLIC void prefs_register_bool_preference(module_t *module, const char *name, const char *title, const char *description, bool *var)
Definition prefs.c:1258
void prefs_register_custom_preference(module_t *module, const char *name, const char *title, const char *description, struct pref_custom_cbs *custom_cbs, void **custom_data)
WS_DLL_PUBLIC void prefs_register_enum_preference(module_t *module, const char *name, const char *title, const char *description, int *var, const enum_val_t *enumvals, bool radio_buttons)
Definition prefs.c:1347
WS_DLL_PUBLIC module_t * prefs_register_stat(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition prefs.c:796
WS_DLL_PUBLIC bool prefs_module_has_submodules(module_t *module)
Definition prefs.c:912
WS_DLL_PUBLIC void prefs_register_custom_preference_TCP_Analysis(module_t *module, const char *name, const char *title, const char *description, int *var, const enum_val_t *enumvals, bool radio_buttons)
Definition prefs.c:1988
WS_DLL_PUBLIC bool prefs_is_capture_device_hidden(const char *name)
Definition prefs.c:5208
WS_DLL_PUBLIC char string_to_name_resolve(const char *string, struct _e_addr_resolve *name_resolve)
Definition prefs.c:5416
WS_DLL_PUBLIC void prefs_register_password_preference(module_t *module, const char *name, const char *title, const char *description, const char **var)
Definition prefs.c:2023
Flags to control name resolution.
Definition addr_resolv.h:48
Definition prefs.h:161
Definition color.h:23
Definition packet.c:86
Definition params.h:23
Definition range.h:41
Definition uat-int.h:40
Definition prefs-int.h:75
Definition prefs-int.h:27
const char * description
Definition prefs-int.h:30
const char * name
Definition prefs-int.h:28
void(* apply_cb)(void)
Definition prefs-int.h:32
const char * title
Definition prefs-int.h:29
Definition prefs.c:241
unsigned base
Definition prefs.c:278
const char * description
Definition prefs.c:244
const char * title
Definition prefs.c:243
const char * name
Definition prefs.c:242
struct pref_custom_cbs custom_cbs
Definition prefs.c:288
uint32_t max_value
Definition prefs.c:279
const enum_val_t * enumvals
Definition prefs.c:281
bool radio_buttons
Definition prefs.c:282