Wireshark  4.3.0
The Wireshark network protocol analyzer
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
24 extern "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 arbirary limit of 10 minutes */
36 #define ST_MAX_BURSTBUCKETS 100 /* somewhat arbirary 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 
46 struct epan_uat;
47 struct _e_addr_resolve;
48 
60 WS_DLL_PUBLIC
61 char 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 
69 /*
70  * Toolbar styles.
71  */
72 #define TB_STYLE_ICONS 0
73 #define TB_STYLE_TEXT 1
74 #define TB_STYLE_BOTH 2
75 
76 /*
77  * Color styles.
78  */
79 #define COLOR_STYLE_DEFAULT 0
80 #define COLOR_STYLE_FLAT 1
81 #define COLOR_STYLE_GRADIENT 2
82 
83 #define COLOR_STYLE_ALPHA 0.25
84 
85 /*
86  * Types of layout of summary/details/hex panes.
87  */
88 typedef enum {
89  layout_unused, /* entry currently unused */
90  layout_type_5,
91  layout_type_2,
92  layout_type_1,
93  layout_type_4,
94  layout_type_3,
95  layout_type_6,
96  layout_type_max
97 } layout_type_e;
98 
99 /*
100  * Types of pane.
101  */
102 typedef enum {
103  layout_pane_content_none,
104  layout_pane_content_plist,
105  layout_pane_content_pdetails,
106  layout_pane_content_pbytes,
107  layout_pane_content_pdiagram,
108 } layout_pane_content_e;
109 
110 /*
111  * Places version information will show up
112  */
113 typedef enum {
114  version_welcome_only,
115  version_title_only,
116  version_both,
117  version_neither
118 } version_info_e;
119 
120 typedef enum {
121  layout_vertical,
122  layout_horizontal
123 } splitter_layout_e;
124 
125 typedef enum {
126  pref_default,
127  pref_stashed,
128  pref_current
129 } pref_source_t;
130 
131 typedef enum {
132  ELIDE_LEFT,
133  ELIDE_RIGHT,
134  ELIDE_MIDDLE,
135  ELIDE_NONE
136 } elide_mode_e;
137 
138 
139 /*
140  * Update channel.
141  */
142 typedef enum {
143  UPDATE_CHANNEL_DEVELOPMENT,
144  UPDATE_CHANNEL_STABLE
145 } software_update_channel_e;
146 
147 typedef struct _e_prefs {
148  GList *col_list;
149  gint num_cols;
150  color_t st_client_fg, st_client_bg, st_server_fg, st_server_bg;
151  color_t gui_text_valid, gui_text_invalid, gui_text_deprecated;
152  bool restore_filter_after_following_stream;
153  gint gui_toolbar_main_style;
154  gchar *gui_font_name;
155  color_t gui_active_fg;
156  color_t gui_active_bg;
157  gint gui_active_style;
158  color_t gui_inactive_fg;
159  color_t gui_inactive_bg;
160  gint gui_inactive_style;
161  color_t gui_marked_fg;
162  color_t gui_marked_bg;
163  color_t gui_ignored_fg;
164  color_t gui_ignored_bg;
165  gchar *gui_colorized_fg;
166  gchar *gui_colorized_bg;
167  bool gui_geometry_save_position;
168  bool gui_geometry_save_size;
169  bool gui_geometry_save_maximized;
170  guint gui_recent_df_entries_max;
171  guint gui_recent_files_count_max;
172  guint gui_fileopen_style;
173  gchar *gui_fileopen_dir;
174  guint gui_fileopen_preview;
175  gchar *gui_tlskeylog_command;
176  bool gui_ask_unsaved;
177  bool gui_autocomplete_filter;
178  bool gui_find_wrap;
179  gchar *gui_window_title;
180  gchar *gui_prepend_window_title;
181  gchar *gui_start_title;
182  version_info_e gui_version_placement;
183  guint gui_max_export_objects;
184  guint gui_max_tree_items;
185  guint gui_max_tree_depth;
186  bool gui_welcome_page_show_recent;
187  layout_type_e gui_layout_type;
188  layout_pane_content_e gui_layout_content_1;
189  layout_pane_content_e gui_layout_content_2;
190  layout_pane_content_e gui_layout_content_3;
191  splitter_layout_e gui_packet_dialog_layout;
192  gchar *gui_interfaces_hide_types;
193  bool gui_interfaces_show_hidden;
194  bool gui_interfaces_remote_display;
195  bool gui_io_graph_automatic_update;
196  bool gui_io_graph_enable_legend;
197  bool gui_packet_details_show_byteview;
198  gchar *capture_device;
199  gchar *capture_devices_linktypes;
200  gchar *capture_devices_descr;
201  gchar *capture_devices_hide;
202  gchar *capture_devices_monitor_mode;
203  gchar *capture_devices_buffersize;
204  gchar *capture_devices_snaplen;
205  gchar *capture_devices_pmode;
206  gchar *capture_devices_filter; /* XXX - Mostly unused. Deprecate? */
207  bool capture_prom_mode;
208  bool capture_monitor_mode;
209  bool capture_pcap_ng;
210  bool capture_real_time;
211  guint capture_update_interval;
212  bool capture_no_interface_load;
213  bool capture_no_extcap;
214  bool capture_show_info;
215  GList *capture_columns;
216  guint tap_update_interval;
217  bool display_hidden_proto_items;
218  bool display_byte_fields_with_spaces;
219  bool enable_incomplete_dissectors_check;
220  bool incomplete_dissectors_check_debug;
221  bool strict_conversation_tracking_heuristics;
222  gint conversation_deinterlacing_key;
223  bool ignore_dup_frames;
224  guint ignore_dup_frames_cache_entries;
225  bool filter_expressions_old; /* TRUE if old filter expressions preferences were loaded. */
226  bool cols_hide_new; /* TRUE if the new (index-based) gui.column.hide preference was loaded. */
227  bool gui_update_enabled;
228  software_update_channel_e gui_update_channel;
229  gint gui_update_interval;
230  gint gui_debounce_timer;
231  gchar *saved_at_version;
232  bool unknown_prefs; /* unknown or obsolete pref(s) */
233  bool gui_packet_list_separator;
234  bool gui_packet_header_column_definition;
235  bool gui_packet_list_hover_style; /* Enable/Disable mouse-over colorization */
236  bool gui_show_selected_packet;
237  bool gui_show_file_load_time;
238  elide_mode_e gui_packet_list_elide_mode;
239  bool gui_packet_list_show_related;
240  bool gui_packet_list_show_minimap;
241  bool gui_packet_list_sortable;
242  guint gui_packet_list_cached_rows_max;
243  gint gui_decimal_places1; /* Used for type 1 calculations */
244  gint gui_decimal_places2; /* Used for type 2 calculations */
245  gint gui_decimal_places3; /* Used for type 3 calculations */
246  bool gui_rtp_player_use_disk1;
247  bool gui_rtp_player_use_disk2;
248  bool st_enable_burstinfo;
249  bool st_burst_showcount;
250  gint st_burst_resolution;
251  gint st_burst_windowlen;
252  bool st_sort_casesensitve;
253  bool st_sort_rng_fixorder;
254  bool st_sort_rng_nameonly;
255  gint st_sort_defcolflag;
256  bool st_sort_defdescending;
257  bool st_sort_showfullname;
258  bool extcap_save_on_start;
259 } e_prefs;
260 
261 WS_DLL_PUBLIC e_prefs prefs;
262 
263 /*
264  * Routines to let modules that have preference settings register
265  * themselves by name, and to let them register preference settings
266  * by name.
267  */
268 struct pref_module;
269 
270 struct pref_custom_cbs;
271 
272 typedef struct pref_module module_t;
273 
275 void prefs_init(void);
276 
278 WS_DLL_PUBLIC void prefs_reset(void);
279 
281 void prefs_cleanup(void);
282 
286 WS_DLL_PUBLIC void prefs_set_gui_theme_is_dark(gboolean is_dark);
287 
296 WS_DLL_PUBLIC module_t *prefs_register_protocol(int id, void (*apply_cb)(void));
297 
304 WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module);
305 
311 void prefs_deregister_protocol(int id);
312 
323 WS_DLL_PUBLIC module_t *prefs_register_stat(const char *name, const char *title,
324  const char *description, void (*apply_cb)(void));
325 
336 WS_DLL_PUBLIC module_t *prefs_register_codec(const char *name, const char *title,
337  const char *description, void (*apply_cb)(void));
338 
350 WS_DLL_PUBLIC module_t *prefs_register_protocol_subtree(const char *subtree, int id,
351  void (*apply_cb)(void));
352 
360 WS_DLL_PUBLIC module_t *prefs_register_protocol_obsolete(int id);
361 
365 typedef guint (*module_cb)(module_t *module, gpointer user_data);
366 
372 WS_DLL_PUBLIC gboolean prefs_module_has_submodules(module_t *module);
373 
385 WS_DLL_PUBLIC guint prefs_modules_foreach(module_cb callback, gpointer user_data);
386 
402 WS_DLL_PUBLIC guint prefs_modules_foreach_submodules(module_t *module, module_cb callback, gpointer user_data);
403 
410 WS_DLL_PUBLIC void prefs_apply_all(void);
411 
419 WS_DLL_PUBLIC void prefs_apply(module_t *module);
420 
421 
422 struct preference;
423 
424 typedef struct preference pref_t;
425 
431 WS_DLL_PUBLIC gboolean prefs_is_registered_protocol(const char *name);
432 
438 WS_DLL_PUBLIC const char *prefs_get_title_by_name(const char *name);
439 
448 WS_DLL_PUBLIC module_t *prefs_find_module(const char *name);
449 
459 WS_DLL_PUBLIC pref_t *prefs_find_preference(module_t * module, const char *pref);
460 
478 WS_DLL_PUBLIC void prefs_register_uint_preference(module_t *module, const char *name,
479  const char *title, const char *description, guint base, guint *var);
480 
481 /*
482  * prefs_register_ callers must conform to the following:
483  *
484  * Names must be in lowercase letters only (underscore allowed).
485  * Titles and descriptions must be valid UTF-8 or NULL.
486  * Titles must be short (less than 80 characters)
487  * Titles must not contain newlines.
488  */
489 
506 WS_DLL_PUBLIC void prefs_register_bool_preference(module_t *module, const char *name,
507  const char *title, const char *description, bool *var);
508 
529 WS_DLL_PUBLIC void prefs_register_enum_preference(module_t *module, const char *name,
530  const char *title, const char *description, gint *var,
531  const enum_val_t *enumvals, gboolean radio_buttons);
532 
554 WS_DLL_PUBLIC void prefs_register_string_preference(module_t *module, const char *name,
555  const char *title, const char *description, const char **var);
556 
584 WS_DLL_PUBLIC void prefs_register_filename_preference(module_t *module, const char *name,
585  const char *title, const char *description, const char **var, gboolean for_writing);
586 
611 WS_DLL_PUBLIC void prefs_register_directory_preference(module_t *module, const char *name,
612  const char *title, const char *description, const char **var);
613 
631 WS_DLL_PUBLIC void prefs_register_range_preference(module_t *module, const char *name,
632  const char *title, const char *description, range_t **var,
633  guint32 max_value);
634 
649 WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name,
650  const char *title, const char *description);
651 
669 WS_DLL_PUBLIC void prefs_register_uat_preference(module_t *module,
670  const char *name, const char* title, const char *description, struct epan_uat* uat);
671 
689 WS_DLL_PUBLIC void prefs_register_uat_preference_qt(module_t *module,
690  const char *name, const char* title, const char *description, struct epan_uat* uat);
691 
692 
713 void prefs_register_color_preference(module_t *module, const char *name,
714  const char *title, const char *description, color_t *color);
715 
737  const char *title, const char *description, struct pref_custom_cbs* custom_cbs,
738  void** custom_data);
739 
758  const char *title, const char *description, range_t **var,
759  guint32 max_value);
760 
777 WS_DLL_PUBLIC void prefs_register_password_preference(module_t *module, const char *name,
778  const char *title, const char *description, const char **var);
779 
801 WS_DLL_PUBLIC void prefs_register_dissector_preference(module_t *module, const char *name,
802  const char *title, const char *description, const char **var);
803 
820 WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module,
821  const char *name);
822 
843 WS_DLL_PUBLIC void prefs_register_custom_preference_TCP_Analysis(module_t *module, const char *name,
844  const char *title, const char *description, gint *var,
845  const enum_val_t *enumvals, gboolean radio_buttons);
846 
861 WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module,
862  const char *name);
863 
864 
865 typedef guint (*pref_cb)(pref_t *pref, gpointer user_data);
866 
881 WS_DLL_PUBLIC guint prefs_pref_foreach(module_t *module, pref_cb callback,
882  gpointer user_data);
883 
894 WS_DLL_PUBLIC GList *prefs_get_string_list(const gchar *str);
895 
900 WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl);
901 
908 WS_DLL_PUBLIC
909 const char *prefs_pref_type_name(pref_t *pref);
910 
919 WS_DLL_PUBLIC
921 
929 WS_DLL_PUBLIC
930 char *prefs_pref_to_str(pref_t *pref, pref_source_t source);
931 
942 extern e_prefs *read_prefs(void);
943 
953 WS_DLL_PUBLIC int write_prefs(char **pf_path_return);
954 
958 typedef enum {
959  PREFS_SET_OK, /* succeeded */
960  PREFS_SET_SYNTAX_ERR, /* syntax error in string */
961  PREFS_SET_NO_SUCH_PREF, /* no such preference */
962  PREFS_SET_OBSOLETE /* preference used to exist but no longer does */
964 
978 WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg);
979 
988 gboolean prefs_get_preference_obsolete(pref_t *pref);
989 
997 
1007 WS_DLL_PUBLIC guint prefs_get_uint_value(const char *module_name, const char* pref_name);
1008 
1018 WS_DLL_PUBLIC range_t* prefs_get_range_value(const char *module_name, const char* pref_name);
1019 
1025 WS_DLL_PUBLIC gboolean prefs_is_capture_device_hidden(const char *name);
1026 
1032 WS_DLL_PUBLIC gboolean prefs_capture_device_monitor_mode(const char *name);
1033 
1040 WS_DLL_PUBLIC gboolean prefs_capture_options_dialog_column_is_visible(const gchar *column);
1041 
1048 WS_DLL_PUBLIC gboolean prefs_has_layout_pane_content (layout_pane_content_e layout_pane_content);
1049 
1050 #ifdef __cplusplus
1051 }
1052 #endif /* __cplusplus */
1053 
1054 #endif /* prefs.h */
1055 
1056 /*
1057  * Editor modelines - https://www.wireshark.org/tools/modelines.html
1058  *
1059  * Local variables:
1060  * c-basic-offset: 4
1061  * tab-width: 8
1062  * indent-tabs-mode: nil
1063  * End:
1064  *
1065  * vi: set shiftwidth=4 tabstop=8 expandtab:
1066  * :indentSize=4:tabSize=8:noTabs=true:
1067  */
void prefs_init(void)
Definition: prefs.c:318
WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg)
Definition: prefs.c:5028
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:1809
WS_DLL_PUBLIC gboolean prefs_has_layout_pane_content(layout_pane_content_e layout_pane_content)
Definition: prefs.c:5352
WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl)
Definition: prefs.c:4149
void prefs_register_color_preference(module_t *module, const char *name, const char *title, const char *description, color_t *color)
Definition: prefs.c:1843
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:1584
prefs_set_pref_e prefs_set_preference_obsolete(pref_t *pref)
Definition: prefs.c:2091
WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module, const char *name)
Definition: prefs.c:2061
WS_DLL_PUBLIC void prefs_register_enum_preference(module_t *module, const char *name, const char *title, const char *description, gint *var, const enum_val_t *enumvals, gboolean radio_buttons)
Definition: prefs.c:1326
WS_DLL_PUBLIC guint prefs_modules_foreach_submodules(module_t *module, module_cb callback, gpointer user_data)
Definition: prefs.c:926
WS_DLL_PUBLIC GList * prefs_get_string_list(const gchar *str)
Definition: prefs.c:4020
WS_DLL_PUBLIC void prefs_apply_all(void)
Definition: prefs.c:956
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:1556
WS_DLL_PUBLIC guint prefs_modules_foreach(module_cb callback, gpointer user_data)
Definition: prefs.c:910
WS_DLL_PUBLIC gboolean prefs_is_registered_protocol(const char *name)
Definition: prefs.c:1169
WS_DLL_PUBLIC void prefs_set_gui_theme_is_dark(gboolean is_dark)
Definition: prefs.c:422
WS_DLL_PUBLIC char * prefs_pref_to_str(pref_t *pref, pref_source_t source)
Definition: prefs.c:6787
WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name, const char *title, const char *description)
Definition: prefs.c:1797
WS_DLL_PUBLIC char * prefs_pref_type_description(pref_t *pref)
Definition: prefs.c:6604
WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module, const char *name)
Definition: prefs.c:2067
guint(* module_cb)(module_t *module, gpointer user_data)
Definition: prefs.h:365
WS_DLL_PUBLIC module_t * prefs_register_protocol(int id, void(*apply_cb)(void))
Definition: prefs.c:630
gboolean prefs_get_preference_obsolete(pref_t *pref)
Definition: prefs.c:2079
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:1824
void prefs_deregister_protocol(int id)
Definition: prefs.c:655
WS_DLL_PUBLIC void prefs_register_custom_preference_TCP_Analysis(module_t *module, const char *name, const char *title, const char *description, gint *var, const enum_val_t *enumvals, gboolean radio_buttons)
Definition: prefs.c:1960
WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module)
Definition: prefs.c:580
WS_DLL_PUBLIC void prefs_register_range_preference(module_t *module, const char *name, const char *title, const char *description, range_t **var, guint32 max_value)
Definition: prefs.c:1624
prefs_set_pref_e
Definition: prefs.h:958
e_prefs * read_prefs(void)
Definition: prefs.c:4672
WS_DLL_PUBLIC guint prefs_pref_foreach(module_t *module, pref_cb callback, gpointer user_data)
Definition: prefs.c:2410
void prefs_register_decode_as_range_preference(module_t *module, const char *name, const char *title, const char *description, range_t **var, guint32 max_value)
Definition: prefs.c:1979
WS_DLL_PUBLIC pref_t * prefs_find_preference(module_t *module, const char *pref)
Definition: prefs.c:1160
WS_DLL_PUBLIC gboolean prefs_is_capture_device_hidden(const char *name)
Definition: prefs.c:5163
void prefs_cleanup(void)
Definition: prefs.c:404
WS_DLL_PUBLIC void prefs_register_uint_preference(module_t *module, const char *name, const char *title, const char *description, guint base, guint *var)
Definition: prefs.c:1191
WS_DLL_PUBLIC void prefs_register_filename_preference(module_t *module, const char *name, const char *title, const char *description, const char **var, gboolean for_writing)
Definition: prefs.c:1570
WS_DLL_PUBLIC int write_prefs(char **pf_path_return)
Definition: prefs.c:7118
WS_DLL_PUBLIC void prefs_reset(void)
Definition: prefs.c:4563
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:2005
WS_DLL_PUBLIC gboolean prefs_module_has_submodules(module_t *module)
Definition: prefs.c:888
WS_DLL_PUBLIC module_t * prefs_register_protocol_obsolete(int id)
Definition: prefs.c:732
WS_DLL_PUBLIC module_t * prefs_register_codec(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition: prefs.c:804
WS_DLL_PUBLIC module_t * prefs_register_protocol_subtree(const char *subtree, int id, void(*apply_cb)(void))
Definition: prefs.c:666
WS_DLL_PUBLIC void prefs_apply(module_t *module)
Definition: prefs.c:968
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:1234
WS_DLL_PUBLIC range_t * prefs_get_range_value(const char *module_name, const char *pref_name)
Definition: prefs.c:1770
WS_DLL_PUBLIC gboolean prefs_capture_device_monitor_mode(const char *name)
Definition: prefs.c:5313
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 module_t * prefs_register_stat(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition: prefs.c:772
WS_DLL_PUBLIC gboolean prefs_capture_options_dialog_column_is_visible(const gchar *column)
Definition: prefs.c:5337
WS_DLL_PUBLIC const char * prefs_pref_type_name(pref_t *pref)
Definition: prefs.c:6462
WS_DLL_PUBLIC guint prefs_get_uint_value(const char *module_name, const char *pref_name)
Definition: prefs.c:5098
WS_DLL_PUBLIC module_t * prefs_find_module(const char *name)
Definition: prefs.c:824
WS_DLL_PUBLIC char string_to_name_resolve(const char *string, struct _e_addr_resolve *name_resolve)
Definition: prefs.c:5372
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:1991
WS_DLL_PUBLIC const char * prefs_get_title_by_name(const char *name)
Definition: prefs.c:1180
Flags to control name resolution.
Definition: addr_resolv.h:48
Definition: prefs.h:147
Definition: color.h:23
Definition: params.h:23
Definition: range.h:42
Definition: uat-int.h:40
Definition: prefs-int.h:74
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:31
const char * title
Definition: prefs-int.h:29
Definition: prefs.c:225
const char * description
Definition: prefs.c:228
const char * title
Definition: prefs.c:227
const char * name
Definition: prefs.c:226
struct pref_custom_cbs custom_cbs
Definition: prefs.c:272
const enum_val_t * enumvals
Definition: prefs.c:265
gboolean radio_buttons
Definition: prefs.c:266
guint base
Definition: prefs.c:262
guint32 max_value
Definition: prefs.c:263