Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
prefs.h
Go to the documentation of this file.
1
10#pragma once
11#include <glib.h>
12
13#include <epan/params.h>
14#include <epan/range.h>
15
16#include <wsutil/color.h>
17
18#include "ws_symbol_export.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23
24#define DEF_WIDTH 750
25#define DEF_HEIGHT 550
26
27#define MAX_VAL_LEN 1024
28
29#define TAP_UPDATE_DEFAULT_INTERVAL 3000
30#define ST_DEF_BURSTRES 5
31#define ST_DEF_BURSTLEN 100
32#define ST_MAX_BURSTRES 600000 /* somewhat arbitrary limit of 10 minutes */
33#define ST_MAX_BURSTBUCKETS 100 /* somewhat arbitrary limit - more buckets degrade performance */
34#define DEF_GUI_DECIMAL_PLACES1 2
35#define DEF_GUI_DECIMAL_PLACES2 4
36#define DEF_GUI_DECIMAL_PLACES3 6
37
38#define CONV_DEINT_KEY_CAPFILE 0x01 /* unused yet */
39#define CONV_DEINT_KEY_INTERFACE 0x02
40#define CONV_DEINT_KEY_MAC 0x04
41#define CONV_DEINT_KEY_VLAN 0x08
42
43/* Bitmask of flags for the effect of a preference in Wireshark */
44#define PREF_EFFECT_DISSECTION (1u << 0)
45#define PREF_EFFECT_CAPTURE (1u << 1)
46#define PREF_EFFECT_GUI_LAYOUT (1u << 2)
47#define PREF_EFFECT_FIELDS (1u << 3)
48#define PREF_EFFECT_GUI (1u << 4)
49#define PREF_EFFECT_GUI_COLOR (1u << 5)
50#define PREF_EFFECT_AGGREGATION (1u << 6)
51
52/* Default update interval in milliseconds */
53#define DEFAULT_UPDATE_INTERVAL 100
54
55struct epan_uat;
56struct _e_addr_resolve;
57
69WS_DLL_PUBLIC
70char string_to_name_resolve(const char *string, struct _e_addr_resolve *name_resolve);
71
72/*
73 * Modes for the starting directory in File Open dialogs.
74 */
75#define FO_STYLE_LAST_OPENED 0 /* start in last directory we looked at */
76#define FO_STYLE_SPECIFIED 1 /* start in specified directory */
77#define FO_STYLE_CWD 2 /* start in current working directory at startup */
78
79/*
80 * Toolbar styles.
81 */
82#define TB_STYLE_ICONS 0
83#define TB_STYLE_TEXT 1
84#define TB_STYLE_BOTH 2
85
86#define COLOR_SCHEME_DEFAULT 0
87#define COLOR_SCHEME_LIGHT 1
88#define COLOR_SCHEME_DARK 2
89
103
104
115
116
126
127
135
136
145
146
156
157
167
168
178
179
188
196
197
207
208
217
218
222typedef struct _e_prefs {
223 GList *col_list;
224 unsigned num_cols;
225
226 /* GUI appearance */
229
230 /* Colorized column colors */
233
234 /* Window geometry */
238
239 /* Recent entries */
242
243 /* File open dialog */
247
249
250 /* Dialog behavior */
254
255 /* Window title */
260
261 /* Export/tree limits */
265
267
268 /* Layout */
274
275 /* Interface filtering */
279
280 /* I/O graph */
283
284 /* Plot */
288
290
292
293 /* Capture device settings */
303
304 /* Capture behavior */
313
314 /* Aggregation */
317
318 /* Capture startup */
322
323 /* Update intervals */
325
326 /* Dissection display options */
330
331 /* Dissector checking */
336
337 /* Duplicate frame detection */
340
341 /* Migration flags */
344
345 /* Auto-update */
350
352
353 /* Packet list display options */
366
367 /* Multi-color stripe settings */
373
374 /* Decimal places for statistics calculations */
378
379 /* RTP player */
382
383 /* Flow graph */
385
386 /* Statistics burst detection */
391
392 /* Statistics sorting */
400
404
405WS_DLL_PUBLIC e_prefs prefs;
406
407/*
408 * Routines to let modules that have preference settings register
409 * themselves by name, and to let them register preference settings
410 * by name.
411 */
412struct pref_module;
413
414struct pref_custom_cbs;
415
416typedef struct pref_module module_t;
417
419
426void prefs_init(const char** col_fmt, int num_cols);
427
429
437WS_DLL_PUBLIC void prefs_reset(const char* app_env_var_prefix, const char** col_fmt, int num_cols);
438
440
444void prefs_cleanup(void);
445
454WS_DLL_PUBLIC module_t *prefs_register_protocol(int id, void (*apply_cb)(void));
455
462WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module);
463
469void prefs_deregister_protocol(int id);
470
481WS_DLL_PUBLIC module_t *prefs_register_stat(const char *name, const char *title,
482 const char *description, void (*apply_cb)(void));
483
494WS_DLL_PUBLIC module_t *prefs_register_codec(const char *name, const char *title,
495 const char *description, void (*apply_cb)(void));
496
508WS_DLL_PUBLIC module_t *prefs_register_protocol_subtree(const char *subtree, int id,
509 void (*apply_cb)(void));
510
518WS_DLL_PUBLIC module_t *prefs_register_protocol_obsolete(int id);
519
539WS_DLL_PUBLIC module_t*
540prefs_register_module(wmem_tree_t* pref_tree, wmem_tree_t* master_pref_tree, const char* name, const char* title,
541 const char* description, const char* help, void (*apply_cb)(void),
542 const bool use_gui);
543
547typedef unsigned (*module_cb)(module_t *module, void *user_data);
548
554WS_DLL_PUBLIC bool prefs_module_has_submodules(module_t *module);
555
568WS_DLL_PUBLIC unsigned prefs_modules_foreach(const wmem_tree_t* module, module_cb callback, void *user_data);
569
584WS_DLL_PUBLIC unsigned prefs_modules_foreach_submodules(const wmem_tree_t* module, module_cb callback, void *user_data);
585
597WS_DLL_PUBLIC unsigned prefs_modules_for_all_modules(module_cb callback, void* user_data);
598
605WS_DLL_PUBLIC void prefs_apply_all(void);
606
614WS_DLL_PUBLIC void prefs_apply(module_t *module);
615
616
617struct preference;
618
619typedef struct preference pref_t;
620
626WS_DLL_PUBLIC bool prefs_is_registered_protocol(const char *name);
627
633WS_DLL_PUBLIC const char *prefs_get_title_by_name(const char *name);
634
643WS_DLL_PUBLIC module_t *prefs_find_module(const char *name);
644
654WS_DLL_PUBLIC pref_t *prefs_find_preference(module_t * module, const char *pref);
655
673WS_DLL_PUBLIC void prefs_register_uint_preference(module_t *module, const char *name,
674 const char *title, const char *description, unsigned base, unsigned *var);
675
692WS_DLL_PUBLIC void prefs_register_int_preference(module_t* module, const char* name,
693 const char* title, const char* description, int* var);
694
712WS_DLL_PUBLIC void prefs_register_float_preference(module_t* module, const char* name,
713 const char* title, const char* description, unsigned num_decimal, double* var);
714
715/*
716 * prefs_register_ callers must conform to the following:
717 *
718 * Names must be in lowercase letters only (underscore allowed).
719 * Titles and descriptions must be valid UTF-8 or NULL.
720 * Titles must be short (less than 80 characters)
721 * Titles must not contain newlines.
722 */
723
740WS_DLL_PUBLIC void prefs_register_bool_preference(module_t *module, const char *name,
741 const char *title, const char *description, bool *var);
742
763WS_DLL_PUBLIC void prefs_register_enum_preference(module_t *module, const char *name,
764 const char *title, const char *description, int *var,
765 const enum_val_t *enumvals, bool radio_buttons);
766
788WS_DLL_PUBLIC void prefs_register_string_preference(module_t *module, const char *name,
789 const char *title, const char *description, const char **var);
790
818WS_DLL_PUBLIC void prefs_register_filename_preference(module_t *module, const char *name,
819 const char *title, const char *description, const char **var, bool for_writing);
820
845WS_DLL_PUBLIC void prefs_register_directory_preference(module_t *module, const char *name,
846 const char *title, const char *description, const char **var);
847
872WS_DLL_PUBLIC void prefs_register_list_string_preference(module_t* module, const char* name,
873 const char* title, const char* description, wmem_list_t** var);
874
900WS_DLL_PUBLIC void prefs_register_multiple_string_preference(module_t* module, const char* name,
901 const char* title, const char* description, wmem_list_t** var);
902
920WS_DLL_PUBLIC void prefs_register_range_preference(module_t *module, const char *name,
921 const char *title, const char *description, range_t **var,
922 uint32_t max_value);
923
938WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name,
939 const char *title, const char *description);
940
958WS_DLL_PUBLIC void prefs_register_uat_preference(module_t *module,
959 const char *name, const char* title, const char *description, struct epan_uat* uat);
960
981void prefs_register_color_preference(module_t *module, const char *name,
982 const char *title, const char *description, color_t *color);
983
1004void prefs_register_custom_preference(module_t *module, const char *name,
1005 const char *title, const char *description, struct pref_custom_cbs* custom_cbs,
1006 void** custom_data);
1007
1027void prefs_register_decode_as_range_preference(module_t *module, const char *name,
1028 const char *title, const char *description, range_t **var,
1029 uint32_t max_value, const char *dissector_table, const char *dissector_description);
1030
1047WS_DLL_PUBLIC void prefs_register_password_preference(module_t *module, const char *name,
1048 const char *title, const char *description, const char **var);
1049
1071WS_DLL_PUBLIC void prefs_register_dissector_preference(module_t *module, const char *name,
1072 const char *title, const char *description, const char **var);
1073
1090WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module,
1091 const char *name);
1092
1113WS_DLL_PUBLIC void prefs_register_custom_preference_TCP_Analysis(module_t *module, const char *name,
1114 const char *title, const char *description, int *var,
1115 const enum_val_t *enumvals, bool radio_buttons);
1116
1133WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module,
1134 const char *name);
1135
1143WS_DLL_PUBLIC void prefs_set_preference_effect(module_t* module,
1144 const char* name, unsigned flags);
1145
1146typedef unsigned (*pref_cb)(pref_t *pref, void *user_data);
1147
1162WS_DLL_PUBLIC unsigned prefs_pref_foreach(module_t *module, pref_cb callback,
1163 void *user_data);
1164
1175WS_DLL_PUBLIC GList *prefs_get_string_list(const char *str);
1176
1181WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl);
1182
1190WS_DLL_PUBLIC
1191const char *prefs_pref_type_name(pref_t *pref);
1192
1202WS_DLL_PUBLIC
1203char *prefs_pref_type_description(pref_t *pref);
1204
1213WS_DLL_PUBLIC
1214char *prefs_pref_to_str(pref_t *pref, pref_source_t source);
1215
1223WS_DLL_PUBLIC
1224int prefs_num_non_uat(module_t* module);
1225
1226
1234WS_DLL_PUBLIC
1235bool prefs_is_preference_obsolete(pref_t *pref);
1236
1249extern e_prefs *read_prefs(const char* app_env_var_prefix);
1250
1261WS_DLL_PUBLIC int write_prefs(const char* app_env_var_prefix, char **pf_path_return);
1262
1269WS_DLL_PUBLIC void pref_write_individual(void* data, void* user_data);
1270
1277WS_DLL_PUBLIC void pref_free_individual(void* data, void* user_data);
1278
1288
1302WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg);
1303
1313WS_DLL_PUBLIC range_t* prefs_get_range_value(const char *module_name, const char* pref_name);
1314
1321WS_DLL_PUBLIC bool prefs_is_capture_device_hidden(const char *name);
1322
1329WS_DLL_PUBLIC bool prefs_capture_device_monitor_mode(const char *name);
1330
1337WS_DLL_PUBLIC bool prefs_has_layout_pane_content (layout_pane_content_e layout_pane_content);
1338
1339#ifdef __cplusplus
1340}
1341#endif /* __cplusplus */
1342
1343/*
1344 * Editor modelines - https://www.wireshark.org/tools/modelines.html
1345 *
1346 * Local variables:
1347 * c-basic-offset: 4
1348 * tab-width: 8
1349 * indent-tabs-mode: nil
1350 * End:
1351 *
1352 * vi: set shiftwidth=4 tabstop=8 expandtab:
1353 * :indentSize=4:tabSize=8:noTabs=true:
1354 */
struct _wmem_list_t wmem_list_t
Opaque type representing a scoped, doubly-linked list in the wmem system.
Definition wmem_list.h:42
struct _wmem_tree_t wmem_tree_t
Opaque type representing a red-black tree in the wmem system.
Definition wmem_tree.h:49
WS_DLL_PUBLIC module_t * prefs_register_codec(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition prefs.c:803
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:1590
pref_source_t
Selects which copy of a preference value is used as the active source.
Definition prefs.h:140
@ pref_stashed
Definition prefs.h:142
@ pref_current
Definition prefs.h:143
@ pref_default
Definition prefs.h:141
WS_DLL_PUBLIC bool prefs_is_preference_obsolete(pref_t *pref)
Fetch whether a preference is marked obsolete.
Definition prefs.c:2073
WS_DLL_PUBLIC void prefs_set_preference_effect(module_t *module, const char *name, unsigned flags)
Set the effect flags for a preference in a given module.
Definition prefs.c:2084
WS_DLL_PUBLIC module_t * prefs_register_protocol_subtree(const char *subtree, int id, void(*apply_cb)(void))
Definition prefs.c:704
WS_DLL_PUBLIC prefs_set_pref_e prefs_set_pref(char *prefarg, char **errmsg)
Definition prefs.c:4966
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:1829
WS_DLL_PUBLIC void prefs_clear_string_list(GList *sl)
Clear the given list of string data.
Definition prefs.c:4191
void prefs_register_color_preference(module_t *module, const char *name, const char *title, const char *description, color_t *color)
Definition prefs.c:1847
abs_time_format_e
Controls whether absolute timestamps are rendered as ASCII in tree and column views.
Definition prefs.h:172
@ ABS_TIME_ASCII_NEVER
Definition prefs.h:173
@ ABS_TIME_ASCII_ALWAYS
Definition prefs.h:176
@ ABS_TIME_ASCII_COLUMN
Definition prefs.h:175
@ ABS_TIME_ASCII_TREE
Definition prefs.h:174
WS_DLL_PUBLIC range_t * prefs_get_range_value(const char *module_name, const char *pref_name)
Definition prefs.c:1790
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:1604
gui_packet_list_multi_color_separator_e
Visual style of the separator between adjacent color stripes in the packet list.
Definition prefs.h:212
@ PACKET_LIST_MULTI_COLOR_SEPARATOR_BUBBLE
Definition prefs.h:215
@ PACKET_LIST_MULTI_COLOR_SEPARATOR_DIAGONAL
Definition prefs.h:214
@ PACKET_LIST_MULTI_COLOR_SEPARATOR_VERTICAL
Definition prefs.h:213
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:1646
WS_DLL_PUBLIC char * prefs_pref_type_description(pref_t *pref)
Fetch a long description of the preference type.
Definition prefs.c:6325
WS_DLL_PUBLIC void prefs_register_obsolete_preference(module_t *module, const char *name)
Register a preference that used to be supported but no longer is.
Definition prefs.c:2067
WS_DLL_PUBLIC module_t * prefs_find_module(const char *name)
Definition prefs.c:811
elide_mode_e
Controls which end of a text string is elided when it is too long to display.
Definition prefs.h:150
@ ELIDE_MIDDLE
Definition prefs.h:153
@ ELIDE_NONE
Definition prefs.h:154
@ ELIDE_LEFT
Definition prefs.h:151
@ ELIDE_RIGHT
Definition prefs.h:152
e_prefs * read_prefs(const char *app_env_var_prefix)
Read the preferences file, fill in "prefs", and return a pointer to it.
Definition prefs.c:4611
WS_DLL_PUBLIC void prefs_register_multiple_string_preference(module_t *module, const char *name, const char *title, const char *description, wmem_list_t **var)
WS_DLL_PUBLIC void prefs_apply_all(void)
Definition prefs.c:939
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:1576
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:1981
gui_packet_list_multi_color_mode_e
Multi-color stripe display mode for the packet list scrollbar and rows.
Definition prefs.h:201
@ PACKET_LIST_MULTI_COLOR_MODE_SCROLLBAR_ONLY
Definition prefs.h:203
@ PACKET_LIST_MULTI_COLOR_MODE_OFF
Definition prefs.h:202
@ PACKET_LIST_MULTI_COLOR_MODE_SHIFT_RIGHT
Definition prefs.h:205
@ PACKET_LIST_MULTI_COLOR_MODE_FULL
Definition prefs.h:204
WS_DLL_PUBLIC void prefs_register_float_preference(module_t *module, const char *name, const char *title, const char *description, unsigned num_decimal, double *var)
Definition prefs.c:1213
WS_DLL_PUBLIC bool prefs_has_layout_pane_content(layout_pane_content_e layout_pane_content)
Returns true if the layout pane content is enabled.
Definition prefs.c:5351
unsigned(* module_cb)(module_t *module, void *user_data)
Definition prefs.h:547
WS_DLL_PUBLIC bool prefs_is_registered_protocol(const char *name)
Definition prefs.c:1154
capture_process_info_e
What to record of the processes that packets belong to when capturing.
Definition prefs.h:183
@ CAPTURE_PROCESS_INFO_FULL
Definition prefs.h:186
@ CAPTURE_PROCESS_INFO_BASIC
Definition prefs.h:185
@ CAPTURE_PROCESS_INFO_NONE
Definition prefs.h:184
WS_DLL_PUBLIC void prefs_register_static_text_preference(module_t *module, const char *name, const char *title, const char *description)
Definition prefs.c:1817
WS_DLL_PUBLIC void prefs_set_preference_effect_fields(module_t *module, const char *name)
Mark a preference that affects fields change.
Definition prefs.c:2079
WS_DLL_PUBLIC void pref_free_individual(void *data, void *user_data)
Callback function for freeing individual preferences.
WS_DLL_PUBLIC const char * prefs_get_title_by_name(const char *name)
Definition prefs.c:1165
layout_pane_content_e
Content assigned to a single layout pane in the main window.
Definition prefs.h:108
@ layout_pane_content_plist
Definition prefs.h:110
@ layout_pane_content_pbytes
Definition prefs.h:112
@ layout_pane_content_pdetails
Definition prefs.h:111
@ layout_pane_content_pdiagram
Definition prefs.h:113
@ layout_pane_content_none
Definition prefs.h:109
WS_DLL_PUBLIC unsigned prefs_pref_foreach(module_t *module, pref_cb callback, void *user_data)
Call a callback function, with a specified argument, for each preference in a given module.
Definition prefs.c:2555
WS_DLL_PUBLIC pref_t * prefs_find_preference(module_t *module, const char *pref)
Definition prefs.c:1145
WS_DLL_PUBLIC module_t * prefs_register_protocol_obsolete(int id)
Definition prefs.c:756
void prefs_deregister_protocol(int id)
Definition prefs.c:692
WS_DLL_PUBLIC bool prefs_capture_device_monitor_mode(const char *name)
Returns true if the given device should capture in monitor mode by default.
Definition prefs.c:5330
WS_DLL_PUBLIC void prefs_register_module_alias(const char *name, module_t *module)
Register an alias for a preference module.
Definition prefs.c:637
prefs_set_pref_e
Result of setting a preference.
Definition prefs.h:1282
@ PREFS_SET_OK
Definition prefs.h:1283
@ PREFS_SET_SYNTAX_ERR
Definition prefs.h:1284
@ PREFS_SET_OBSOLETE
Definition prefs.h:1286
@ PREFS_SET_NO_SUCH_PREF
Definition prefs.h:1285
WS_DLL_PUBLIC void pref_write_individual(void *data, void *user_data)
Callback function for writing individual preferences.
Definition prefs.c:6668
version_info_e
Controls where version information is displayed in the GUI.
Definition prefs.h:120
@ version_both
Definition prefs.h:123
@ version_title_only
Definition prefs.h:122
@ version_neither
Definition prefs.h:124
@ version_welcome_only
Definition prefs.h:121
WS_DLL_PUBLIC char * prefs_pref_to_str(pref_t *pref, pref_source_t source)
Fetch a string representation of the preference.
Definition prefs.c:6531
WS_DLL_PUBLIC const char * prefs_pref_type_name(pref_t *pref)
Fetch a short preference type name, e.g. "Integer".
Definition prefs.c:6179
WS_DLL_PUBLIC unsigned prefs_modules_foreach(const wmem_tree_t *module, module_cb callback, void *user_data)
Definition prefs.c:888
WS_DLL_PUBLIC unsigned prefs_modules_for_all_modules(module_cb callback, void *user_data)
Definition prefs.c:910
void prefs_cleanup(void)
Clean up preferences.
Definition prefs.c:408
copy_format_e
Output format for copying packet list rows to the clipboard.
Definition prefs.h:161
@ COPY_FORMAT_CSV
Definition prefs.h:163
@ COPY_FORMAT_YAML
Definition prefs.h:164
@ COPY_FORMAT_TEXT
Definition prefs.h:162
@ COPY_FORMAT_HTML
Definition prefs.h:165
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:1176
software_update_channel_e
Automatic software update channel selection.
Definition prefs.h:192
@ UPDATE_CHANNEL_DEVELOPMENT
Definition prefs.h:193
@ UPDATE_CHANNEL_STABLE
Definition prefs.h:194
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:2011
WS_DLL_PUBLIC int prefs_num_non_uat(module_t *module)
Fetch the number of preferences in a module that are not UATs.
Definition prefs.c:6779
WS_DLL_PUBLIC int write_prefs(const char *app_env_var_prefix, char **pf_path_return)
Write out "prefs" to the user's preferences file, and return 0.
Definition prefs.c:6913
WS_DLL_PUBLIC module_t * prefs_register_protocol(int id, void(*apply_cb)(void))
Definition prefs.c:680
void prefs_init(const char **col_fmt, int num_cols)
Initialize preferences system.
Definition prefs.c:313
WS_DLL_PUBLIC GList * prefs_get_string_list(const char *str)
Parse through a list of comma-separated, possibly quoted strings. Return a list of the string data.
Definition prefs.c:4062
WS_DLL_PUBLIC void prefs_apply(module_t *module)
Definition prefs.c:951
WS_DLL_PUBLIC void prefs_reset(const char *app_env_var_prefix, const char **col_fmt, int num_cols)
Resets preferences to their default values.
Definition prefs.c:4497
WS_DLL_PUBLIC module_t * prefs_register_module(wmem_tree_t *pref_tree, wmem_tree_t *master_pref_tree, const char *name, const char *title, const char *description, const char *help, void(*apply_cb)(void), const bool use_gui)
Register a module that will have preferences. Specify the module under which to register it,...
Definition prefs.c:499
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:1250
struct _e_prefs e_prefs
Global Wireshark preferences structure holding all persistent configuration settings.
layout_type_e
Arrangement type of the summary, details, and hex panes in the main window.
Definition prefs.h:93
@ layout_type_5
Definition prefs.h:95
@ layout_type_4
Definition prefs.h:98
@ layout_type_1
Definition prefs.h:97
@ layout_unused
Definition prefs.h:94
@ layout_type_3
Definition prefs.h:99
@ layout_type_2
Definition prefs.h:96
@ layout_type_6
Definition prefs.h:100
@ layout_type_max
Definition prefs.h:101
WS_DLL_PUBLIC void prefs_register_list_string_preference(module_t *module, const char *name, const char *title, const char *description, wmem_list_t **var)
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:1339
WS_DLL_PUBLIC module_t * prefs_register_stat(const char *name, const char *title, const char *description, void(*apply_cb)(void))
Definition prefs.c:783
WS_DLL_PUBLIC void prefs_register_int_preference(module_t *module, const char *name, const char *title, const char *description, int *var)
Definition prefs.c:1199
WS_DLL_PUBLIC unsigned prefs_modules_foreach_submodules(const wmem_tree_t *module, module_cb callback, void *user_data)
Definition prefs.c:904
WS_DLL_PUBLIC bool prefs_module_has_submodules(module_t *module)
Definition prefs.c:866
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)
Register a preference with an enumerated value.
Definition prefs.c:1962
WS_DLL_PUBLIC bool prefs_is_capture_device_hidden(const char *name)
Checks if the specified capture device is hidden.
Definition prefs.c:5181
WS_DLL_PUBLIC char string_to_name_resolve(const char *string, struct _e_addr_resolve *name_resolve)
Definition prefs.c:5359
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:1997
splitter_layout_e
Orientation of a splitter divider between panes.
Definition prefs.h:131
@ layout_horizontal
Definition prefs.h:133
@ layout_vertical
Definition prefs.h:132
struct epan_range range_t
Flags to control name resolution.
Definition addr_resolv.h:49
Global Wireshark preferences structure holding all persistent configuration settings.
Definition prefs.h:222
unsigned gui_decimal_places1
Definition prefs.h:375
bool gui_plot_enable_legend
Definition prefs.h:286
bool gui_rtp_player_use_disk2
Definition prefs.h:381
unsigned capture_update_interval
Definition prefs.h:311
bool gui_packet_list_copy_text_with_aligned_columns
Definition prefs.h:361
char * capture_devices_linktypes
Definition prefs.h:295
GList * aggregation_fields
Definition prefs.h:315
bool gui_update_enabled
Definition prefs.h:346
bool filter_expressions_old
Definition prefs.h:342
bool gui_packet_list_multi_color_details
Definition prefs.h:370
bool gui_plot_automatic_update
Definition prefs.h:285
char * gui_colorized_fg
Definition prefs.h:231
bool gui_packet_list_show_minimap
Definition prefs.h:363
char * capture_devices_monitor_mode
Definition prefs.h:298
bool gui_packet_details_show_byteview
Definition prefs.h:289
bool capture_show_info
Definition prefs.h:321
bool capture_no_interface_load
Definition prefs.h:319
char * capture_temp_dir
Definition prefs.h:312
unsigned gui_decimal_places3
Definition prefs.h:377
unsigned gui_decimal_places2
Definition prefs.h:376
char * capture_devices_descr
Definition prefs.h:296
bool gui_welcome_page_show_recent
Definition prefs.h:266
char * capture_device
Definition prefs.h:294
char * gui_window_title
Definition prefs.h:256
unsigned st_burst_windowlen
Definition prefs.h:390
bool capture_pcap_ng
Definition prefs.h:307
capture_process_info_e capture_process_info
Definition prefs.h:309
char * capture_devices_pmode
Definition prefs.h:301
copy_format_e gui_packet_list_copy_format_options_for_keyboard_shortcut
Definition prefs.h:360
bool capture_no_extcap
Definition prefs.h:320
char * capture_devices_snaplen
Definition prefs.h:300
char * gui_tlskeylog_command
Definition prefs.h:248
int capture_zstd_compression_level
Definition prefs.h:308
software_update_channel_e gui_update_channel
Definition prefs.h:347
bool gui_ask_unsaved
Definition prefs.h:251
int conversation_deinterlacing_key
Definition prefs.h:335
layout_pane_content_e gui_layout_content_3
Definition prefs.h:272
bool gui_coloring_rules_include_disabled
Definition prefs.h:371
splitter_layout_e gui_packet_dialog_layout
Definition prefs.h:273
unsigned gui_fileopen_preview
Definition prefs.h:246
bool st_burst_showcount
Definition prefs.h:388
char * gui_start_title
Definition prefs.h:258
bool gui_packet_list_show_related
Definition prefs.h:362
char * saved_at_version
Definition prefs.h:351
char * gui_colorized_bg
Definition prefs.h:232
bool gui_interfaces_remote_display
Definition prefs.h:278
bool gui_io_graph_enable_legend
Definition prefs.h:282
int gui_toolbar_main_style
Definition prefs.h:227
char * gui_font_name
Definition prefs.h:228
abs_time_format_e display_abs_time_ascii
Definition prefs.h:329
bool gui_packet_list_hover_style
Definition prefs.h:356
bool gui_show_file_load_time
Definition prefs.h:358
char * capture_devices_filter
Definition prefs.h:302
unsigned st_burst_resolution
Definition prefs.h:389
bool gui_packet_header_column_definition
Definition prefs.h:355
unsigned gui_recent_files_count_max
Definition prefs.h:241
int st_format
Definition prefs.h:399
char * gui_prepend_window_title
Definition prefs.h:257
layout_pane_content_e gui_layout_content_2
Definition prefs.h:271
char * capture_devices_hide
Definition prefs.h:297
unsigned tap_update_interval
Definition prefs.h:324
bool gui_find_wrap
Definition prefs.h:253
gui_packet_list_multi_color_separator_e gui_packet_list_multi_color_separator
Definition prefs.h:372
GList * col_list
Definition prefs.h:223
unsigned gui_update_interval
Definition prefs.h:348
bool gui_autocomplete_filter
Definition prefs.h:252
bool capture_real_time
Definition prefs.h:310
bool gui_show_selected_packet
Definition prefs.h:357
bool incomplete_dissectors_check_debug
Definition prefs.h:333
unsigned gui_max_tree_depth
Definition prefs.h:264
unsigned gui_max_export_objects
Definition prefs.h:262
bool gui_geometry_save_position
Definition prefs.h:235
bool gui_geometry_save_maximized
Definition prefs.h:237
bool gui_packet_list_sortable
Definition prefs.h:364
bool st_sort_showfullname
Definition prefs.h:398
gui_packet_list_multi_color_mode_e gui_packet_list_multi_color_mode
Definition prefs.h:368
bool gui_interfaces_show_hidden
Definition prefs.h:277
bool st_sort_rng_fixorder
Definition prefs.h:394
bool st_sort_rng_nameonly
Definition prefs.h:395
bool display_hidden_proto_items
Definition prefs.h:327
bool gui_geometry_save_size
Definition prefs.h:236
bool gui_rtp_player_use_disk1
Definition prefs.h:380
unsigned num_cols
Definition prefs.h:224
unsigned flow_graph_max_export_items
Definition prefs.h:384
int aggregation_fields_num
Definition prefs.h:316
unsigned gui_packet_list_multi_color_shift_percent
Definition prefs.h:369
bool gui_io_graph_automatic_update
Definition prefs.h:281
char * gui_interfaces_hide_types
Definition prefs.h:276
bool st_sort_defdescending
Definition prefs.h:397
bool extcap_save_on_start
Definition prefs.h:402
char * gui_fileopen_dir
Definition prefs.h:245
bool ignore_dup_frames
Definition prefs.h:338
char * capture_devices_buffersize
Definition prefs.h:299
layout_pane_content_e gui_layout_content_1
Definition prefs.h:270
unsigned ignore_dup_frames_cache_entries
Definition prefs.h:339
bool strict_conversation_tracking_heuristics
Definition prefs.h:334
unsigned gui_fileopen_style
Definition prefs.h:244
bool display_byte_fields_with_spaces
Definition prefs.h:328
unsigned gui_debounce_timer
Definition prefs.h:349
bool st_sort_casesensitve
Definition prefs.h:393
bool gui_packet_list_separator
Definition prefs.h:354
bool gui_plot_enable_auto_scroll
Definition prefs.h:287
bool capture_monitor_mode
Definition prefs.h:306
unsigned gui_packet_list_cached_rows_max
Definition prefs.h:365
unsigned gui_max_tree_items
Definition prefs.h:263
unsigned gui_recent_df_entries_max
Definition prefs.h:240
version_info_e gui_version_placement
Definition prefs.h:259
bool enable_incomplete_dissectors_check
Definition prefs.h:332
bool gui_appearance_mode_toolbar_button
Definition prefs.h:291
int st_sort_defcolflag
Definition prefs.h:396
bool st_enable_burstinfo
Definition prefs.h:387
bool capture_prom_mode
Definition prefs.h:305
bool conv_machine_readable
Definition prefs.h:401
layout_type_e gui_layout_type
Definition prefs.h:269
bool cols_hide_new
Definition prefs.h:343
elide_mode_e gui_packet_list_elide_mode
Definition prefs.h:359
RGB color representation with 16-bit precision per channel.
Definition color.h:27
Definition packet.c:98
Defines a single named value within an enumerated preference or option type.
Definition params.h:16
Represents a User Accessible Table (UAT), managing a set of user-editable records exposed to a dissec...
Definition uat-int.h:44
Callback table for a PREF_CUSTOM preference, providing lifecycle and serialization hooks.
Definition prefs-int.h:116
Represents a preference module grouping related preferences under a named, hierarchical entry in the ...
Definition prefs-int.h:27
bool use_gui
Definition prefs-int.h:42
const char * description
Definition prefs-int.h:30
void(* apply_cb)(void)
Definition prefs-int.h:32
const char * title
Definition prefs-int.h:29
Definition prefs.c:194
const char * description
Definition prefs.c:197
const char * title
Definition prefs.c:196
struct pref_custom_cbs custom_cbs
Definition prefs.c:249
uint32_t max_value
Definition prefs.c:240
const enum_val_t * enumvals
Definition prefs.c:242
bool radio_buttons
Definition prefs.c:243