Wireshark  4.3.0
The Wireshark network protocol analyzer
Classes | Macros | Typedefs | Functions | Variables
prefs-int.h File Reference
#include <stdio.h>
#include "ws_symbol_export.h"
#include <epan/wmem_scopes.h>

Go to the source code of this file.

Classes

struct  pref_module
 
struct  write_pref_arg_t
 
struct  pref_custom_cbs
 
struct  pref_unstash_data
 

Macros

#define PREF_UINT   (1u << 0)
 
#define PREF_BOOL   (1u << 1)
 
#define PREF_ENUM   (1u << 2)
 
#define PREF_STRING   (1u << 3)
 
#define PREF_RANGE   (1u << 4)
 
#define PREF_STATIC_TEXT   (1u << 5)
 
#define PREF_UAT   (1u << 6)
 
#define PREF_SAVE_FILENAME   (1u << 7)
 
#define PREF_COLOR   (1u << 8) /* XXX - These are only supported for "internal" (non-protocol) */
 
#define PREF_CUSTOM   (1u << 9) /* use and not as a generic protocol preference */
 
#define PREF_OBSOLETE   (1u << 10)
 
#define PREF_DIRNAME   (1u << 11)
 
#define PREF_DECODE_AS_UINT   (1u << 12) /* XXX - These are only supported for "internal" (non-protocol) */
 
#define PREF_DECODE_AS_RANGE   (1u << 13) /* use and not as a generic protocol preference */
 
#define PREF_OPEN_FILENAME   (1u << 14)
 
#define PREF_PASSWORD   (1u << 15) /* like string, but never saved to prefs file */
 
#define PREF_PROTO_TCP_SNDAMB_ENUM   (1u << 16)
 
#define PREF_EFFECT_DISSECTION   (1u << 0)
 
#define PREF_EFFECT_CAPTURE   (1u << 1)
 
#define PREF_EFFECT_GUI_LAYOUT   (1u << 2)
 
#define PREF_EFFECT_FIELDS   (1u << 3)
 

Typedefs

typedef void(* pref_custom_free_cb) (pref_t *pref)
 
typedef void(* pref_custom_reset_cb) (pref_t *pref)
 
typedef prefs_set_pref_e(* pref_custom_set_cb) (pref_t *pref, const gchar *value, unsigned int *changed_flags)
 
typedef const char *(* pref_custom_type_name_cb) (void)
 
typedef char *(* pref_custom_type_description_cb) (void)
 
typedef gboolean(* pref_custom_is_default_cb) (pref_t *pref)
 
typedef char *(* pref_custom_to_str_cb) (pref_t *pref, gboolean default_val)
 
typedef prefs_set_pref_e(* pref_set_pair_cb) (gchar *key, const gchar *value, void *private_data, gboolean return_range_errors)
 
typedef struct pref_unstash_data pref_unstash_data_t
 

Functions

WS_DLL_PUBLIC const char * prefs_get_description (pref_t *pref)
 
WS_DLL_PUBLIC const char * prefs_get_title (pref_t *pref)
 
WS_DLL_PUBLIC const char * prefs_get_name (pref_t *pref)
 
WS_DLL_PUBLIC int prefs_get_type (pref_t *pref)
 
WS_DLL_PUBLIC guint32 prefs_get_max_value (pref_t *pref)
 
WS_DLL_PUBLIC unsigned int prefs_get_effect_flags (pref_t *pref)
 
WS_DLL_PUBLIC void prefs_set_effect_flags (pref_t *pref, unsigned int flags)
 
WS_DLL_PUBLIC void prefs_set_effect_flags_by_name (module_t *module, const char *pref, unsigned int flags)
 
WS_DLL_PUBLIC unsigned int prefs_get_module_effect_flags (module_t *module)
 
WS_DLL_PUBLIC void prefs_set_module_effect_flags (module_t *module, unsigned int flags)
 
WS_DLL_PUBLIC gboolean prefs_set_range_value_work (pref_t *pref, const gchar *value, gboolean return_range_errors, unsigned int *changed_flags)
 
WS_DLL_PUBLIC unsigned int prefs_set_stashed_range_value (pref_t *pref, const gchar *value)
 
WS_DLL_PUBLIC void prefs_range_add_value (pref_t *pref, guint32 val)
 
WS_DLL_PUBLIC void prefs_range_remove_value (pref_t *pref, guint32 val)
 
WS_DLL_PUBLIC unsigned int prefs_set_bool_value (pref_t *pref, gboolean value, pref_source_t source)
 
WS_DLL_PUBLIC gboolean prefs_get_bool_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC void prefs_invert_bool_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC unsigned int prefs_set_uint_value (pref_t *pref, guint value, pref_source_t source)
 
WS_DLL_PUBLIC guint prefs_get_uint_base (pref_t *pref)
 
WS_DLL_PUBLIC guint prefs_get_uint_value_real (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC unsigned int prefs_set_enum_value (pref_t *pref, gint value, pref_source_t source)
 
WS_DLL_PUBLIC unsigned int prefs_set_enum_string_value (pref_t *pref, const gchar *value, pref_source_t source)
 
WS_DLL_PUBLIC gint prefs_get_enum_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC const enum_val_tprefs_get_enumvals (pref_t *pref)
 
WS_DLL_PUBLIC gboolean prefs_get_enum_radiobuttons (pref_t *pref)
 
WS_DLL_PUBLIC gboolean prefs_set_color_value (pref_t *pref, color_t value, pref_source_t source)
 
WS_DLL_PUBLIC color_tprefs_get_color_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC unsigned int prefs_set_custom_value (pref_t *pref, const char *value, pref_source_t source)
 
WS_DLL_PUBLIC unsigned int prefs_set_string_value (pref_t *pref, const char *value, pref_source_t source)
 
WS_DLL_PUBLIC char * prefs_get_string_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC struct epan_uatprefs_get_uat_value (pref_t *pref)
 
WS_DLL_PUBLIC gboolean prefs_set_range_value (pref_t *pref, range_t *value, pref_source_t source)
 
WS_DLL_PUBLIC range_tprefs_get_range_value_real (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC gboolean prefs_add_decode_as_value (pref_t *pref, guint value, gboolean replace)
 
WS_DLL_PUBLIC gboolean prefs_remove_decode_as_value (pref_t *pref, guint value, gboolean set_default)
 
WS_DLL_PUBLIC unsigned int prefs_set_password_value (pref_t *pref, const char *value, pref_source_t source)
 
WS_DLL_PUBLIC char * prefs_get_password_value (pref_t *pref, pref_source_t source)
 
WS_DLL_PUBLIC void reset_pref (pref_t *pref)
 
WS_DLL_PUBLIC int read_prefs_file (const char *pf_path, FILE *pf, pref_set_pair_cb pref_set_pair_fct, void *private_data)
 
WS_DLL_PUBLIC gboolean prefs_pref_is_default (pref_t *pref)
 
WS_DLL_PUBLIC guint pref_stash (pref_t *pref, gpointer unused)
 
WS_DLL_PUBLIC guint pref_unstash (pref_t *pref, gpointer unstash_data_p)
 
WS_DLL_PUBLIC guint pref_clean_stash (pref_t *pref, gpointer unused)
 
WS_DLL_PUBLIC void reset_stashed_pref (pref_t *pref)
 
WS_DLL_PUBLIC char * join_string_list (GList *sl)
 

Variables

WS_DLL_PUBLIC module_tprotocols_module
 

Macro Definition Documentation

◆ PREF_PROTO_TCP_SNDAMB_ENUM

#define PREF_PROTO_TCP_SNDAMB_ENUM   (1u << 16)

Dedicated to TCP PROTOCOL for handling manual SEQ interpretation, and allow users manage the sender traffic ambiguities

◆ PREF_UINT

#define PREF_UINT   (1u << 0)

PREF_OBSOLETE is used for preferences that a module used to support but no longer supports; we give different error messages for them.

Typedef Documentation

◆ pref_set_pair_cb

typedef prefs_set_pref_e(* pref_set_pair_cb) (gchar *key, const gchar *value, void *private_data, gboolean return_range_errors)

Given a string of the form "<pref name>:<pref value>", as might appear as an argument to a "-o" option, parse it and set the preference in question.

Returns
an indication of whether it succeeded or failed in some fashion.

Function Documentation

◆ join_string_list()

WS_DLL_PUBLIC char* join_string_list ( GList *  sl)

Convert a string list preference to a preference string.

Given a GList of gchar pointers, create a quoted, comma-separated string. Should be used with prefs_get_string_list() and prefs_clear_string_list().

Parameters
slString list.
Returns
Quoted, joined, and wrapped string. May be empty.

◆ pref_clean_stash()

WS_DLL_PUBLIC guint pref_clean_stash ( pref_t pref,
gpointer  unused 
)

Clean up a stashed preference. Can be called from prefs_pref_foreach().

Parameters
prefA preference.
unusedunused
Returns
Always returns 0.

◆ pref_stash()

WS_DLL_PUBLIC guint pref_stash ( pref_t pref,
gpointer  unused 
)

"Stash" a preference. Copy a preference to its stashed value. Can be called from prefs_pref_foreach().

Parameters
prefA preference.
unusedunused

◆ pref_unstash()

WS_DLL_PUBLIC guint pref_unstash ( pref_t pref,
gpointer  unstash_data_p 
)

"Unstash" a preference. Set a preference to its stashed value. Can be called from prefs_pref_foreach().

Parameters
prefA preference.
unstash_data_pA pointer to a pref_unstash_data_t structure.
Returns
Always returns 0.

◆ prefs_get_effect_flags()

WS_DLL_PUBLIC unsigned int prefs_get_effect_flags ( pref_t pref)

Fetch flags that show the effect of the preference

Parameters
prefA preference.
Returns
A bitmask of the types of things the preference will effect.

◆ prefs_get_module_effect_flags()

WS_DLL_PUBLIC unsigned int prefs_get_module_effect_flags ( module_t module)

Fetch flags that show module's preferences effect The flag values of the module will be applied to any individual preferences of the module when they are created

Parameters
moduleA preference module.
Returns
A bitmask of the types of things the module's preferences will effect.

◆ prefs_range_add_value()

WS_DLL_PUBLIC void prefs_range_add_value ( pref_t pref,
guint32  val 
)

Add a range value of a range preference.

◆ prefs_range_remove_value()

WS_DLL_PUBLIC void prefs_range_remove_value ( pref_t pref,
guint32  val 
)

Remove a range value of a range preference.

◆ prefs_set_effect_flags()

WS_DLL_PUBLIC void prefs_set_effect_flags ( pref_t pref,
unsigned int  flags 
)

Set flags for the effect of the preference The intention is to distinguish preferences that affect dissection from those that don't. A bitmask was added to provide greater flexibility in the types of effects preferences can have.

Parameters
prefA preference.
flagsBitmask of flags to apply to preference. Note that flags must be non-zero to ensure preference is properly saved to disk.

◆ prefs_set_effect_flags_by_name()

WS_DLL_PUBLIC void prefs_set_effect_flags_by_name ( module_t module,
const char *  pref,
unsigned int  flags 
)

Same as prefs_set_effect_flags, just different way to get preference

◆ prefs_set_module_effect_flags()

WS_DLL_PUBLIC void prefs_set_module_effect_flags ( module_t module,
unsigned int  flags 
)

Set flags for module's preferences effect The intention is to distinguish preferences that affect dissection from those that don't. Since modules are a grouping of preferences, it's likely that a whole module will want the same flags for its preferences. The flag values of the module will be applied to any individual preferences of the module when they are created

Parameters
moduleA preference module.
flagsBitmask of flags to apply to module. Note that flags must be non-zero to ensure preferences are properly saved to disk.

◆ read_prefs_file()

WS_DLL_PUBLIC int read_prefs_file ( const char *  pf_path,
FILE *  pf,
pref_set_pair_cb  pref_set_pair_fct,
void *  private_data 
)

read the preferences file (or similar) and call the callback function to set each key/value pair found

◆ reset_stashed_pref()

WS_DLL_PUBLIC void reset_stashed_pref ( pref_t pref)

Set a stashed preference to its default value.

Parameters
prefA preference.

Variable Documentation

◆ protocols_module

WS_DLL_PUBLIC module_t* protocols_module

Module used for protocol preferences. With MSVC and a libwireshark.dll, we need a special declaration.