Wireshark 4.5.0
The Wireshark network protocol analyzer
|
#include <wsutil/array.h>
#include <wiretap/wtap_opttypes.h>
#include "proto.h"
#include "range.h"
#include "tvbuff.h"
#include "epan.h"
#include "frame_data.h"
#include "packet_info.h"
#include "column-utils.h"
#include "guid-utils.h"
Go to the source code of this file.
Classes | |
struct | _guid_key |
struct | heur_dtbl_entry |
struct | frame_data_s |
struct | file_data_s |
struct | ethertype_data_s |
Macros | |
#define | hi_nibble(b) (((b) & 0xf0) >> 4) |
#define | lo_nibble(b) ((b) & 0x0f) |
#define | BYTES_ARE_IN_FRAME(offset, captured_len, len) |
#define | STRING_CASE_SENSITIVE 0 |
#define | STRING_CASE_INSENSITIVE 1 |
Typedefs | |
typedef struct dissector_handle * | dissector_handle_t |
typedef struct dissector_table * | dissector_table_t |
typedef int(* | dissector_t) (tvbuff_t *, packet_info *, proto_tree *, void *) |
typedef int(* | dissector_cb_t) (tvbuff_t *, packet_info *, proto_tree *, void *, void *) |
typedef bool(* | heur_dissector_t) (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *) |
typedef void(* | DATFunc) (const char *table_name, ftenum_t selector_type, void *key, void *value, void *user_data) |
typedef void(* | DATFunc_handle) (const char *table_name, void *value, void *user_data) |
typedef void(* | DATFunc_table) (const char *table_name, const char *ui_name, void *user_data) |
typedef struct dtbl_entry | dtbl_entry_t |
typedef struct _guid_key | guid_key |
typedef struct heur_dissector_list * | heur_dissector_list_t |
typedef struct heur_dtbl_entry | heur_dtbl_entry_t |
typedef void(* | DATFunc_heur) (const char *table_name, struct heur_dtbl_entry *entry, void *user_data) |
typedef void(* | DATFunc_heur_table) (const char *table_name, struct heur_dissector_list *table, void *user_data) |
typedef struct depend_dissector_list * | depend_dissector_list_t |
typedef struct frame_data_s | frame_data_t |
typedef struct file_data_s | file_data_t |
typedef struct ethertype_data_s | ethertype_data_t |
Enumerations | |
enum | heuristic_enable_e { HEURISTIC_DISABLE , HEURISTIC_ENABLE } |
Functions | |
void | packet_init (void) |
void | packet_cache_proto_handles (void) |
void | packet_all_tables_sort_handles (void) |
void | packet_cleanup (void) |
WS_DLL_PUBLIC dissector_handle_t | dtbl_entry_get_handle (dtbl_entry_t *dtbl_entry) |
WS_DLL_PUBLIC dissector_handle_t | dtbl_entry_get_initial_handle (dtbl_entry_t *entry) |
void | dissector_table_foreach_changed (const char *table_name, DATFunc func, void *user_data) |
WS_DLL_PUBLIC void | dissector_table_foreach (const char *table_name, DATFunc func, void *user_data) |
WS_DLL_PUBLIC void | dissector_all_tables_foreach_changed (DATFunc func, void *user_data) |
WS_DLL_PUBLIC void | dissector_table_foreach_handle (const char *table_name, DATFunc_handle func, void *user_data) |
WS_DLL_PUBLIC void | dissector_all_tables_foreach_table (DATFunc_table func, void *user_data, GCompareFunc compare_key_func) |
WS_DLL_PUBLIC dissector_table_t | register_dissector_table (const char *name, const char *ui_name, const int proto, const ftenum_t type, const int param) |
WS_DLL_PUBLIC dissector_table_t | register_custom_dissector_table (const char *name, const char *ui_name, const int proto, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func) |
WS_DLL_PUBLIC void | register_dissector_table_alias (dissector_table_t dissector_table, const char *alias_name) |
void | deregister_dissector_table (const char *name) |
WS_DLL_PUBLIC dissector_table_t | find_dissector_table (const char *name) |
WS_DLL_PUBLIC const char * | get_dissector_table_ui_name (const char *name) |
WS_DLL_PUBLIC ftenum_t | get_dissector_table_selector_type (const char *name) |
WS_DLL_PUBLIC int | get_dissector_table_param (const char *name) |
WS_DLL_PUBLIC void | dissector_dump_dissector_tables (void) |
WS_DLL_PUBLIC void | dissector_add_uint (const char *name, const uint32_t pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_add_uint_with_preference (const char *name, const uint32_t pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_add_uint_range (const char *abbrev, range_t *range, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_add_uint_range_with_preference (const char *abbrev, const char *range_str, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_delete_uint (const char *name, const uint32_t pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_delete_uint_range (const char *abbrev, range_t *range, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_delete_all (const char *name, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_change_uint (const char *abbrev, const uint32_t pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_reset_uint (const char *name, const uint32_t pattern) |
WS_DLL_PUBLIC bool | dissector_is_uint_changed (dissector_table_t const sub_dissectors, const uint32_t uint_val) |
WS_DLL_PUBLIC int | dissector_try_uint (dissector_table_t sub_dissectors, const uint32_t uint_val, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
WS_DLL_PUBLIC int | dissector_try_uint_with_data (dissector_table_t sub_dissectors, const uint32_t uint_val, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, const bool add_proto_name, void *data) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_uint_handle (dissector_table_t const sub_dissectors, const uint32_t uint_val) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_default_uint_handle (const char *name, const uint32_t uint_val) |
WS_DLL_PUBLIC void | dissector_add_string (const char *name, const char *pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_delete_string (const char *name, const char *pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_change_string (const char *name, const char *pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_reset_string (const char *name, const char *pattern) |
WS_DLL_PUBLIC bool | dissector_is_string_changed (dissector_table_t const subdissectors, const char *string) |
WS_DLL_PUBLIC int | dissector_try_string_with_data (dissector_table_t sub_dissectors, const char *string, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, const bool add_proto_name, void *data) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_string_handle (dissector_table_t sub_dissectors, const char *string) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_default_string_handle (const char *name, const char *string) |
WS_DLL_PUBLIC void | dissector_add_custom_table_handle (const char *name, void *pattern, dissector_handle_t handle) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_custom_table_handle (dissector_table_t sub_dissectors, void *key) |
WS_DLL_PUBLIC void | dissector_add_guid (const char *name, guid_key *guid_val, dissector_handle_t handle) |
WS_DLL_PUBLIC int | dissector_try_guid_with_data (dissector_table_t sub_dissectors, guid_key *guid_val, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, const bool add_proto_name, void *data) |
WS_DLL_PUBLIC void | dissector_delete_guid (const char *name, guid_key *guid_val, dissector_handle_t handle) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_guid_handle (dissector_table_t const sub_dissectors, guid_key *guid_val) |
WS_DLL_PUBLIC int | dissector_try_payload_with_data (dissector_table_t sub_dissectors, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, const bool add_proto_name, void *data) |
WS_DLL_PUBLIC void | dissector_change_payload (const char *abbrev, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_reset_payload (const char *name) |
WS_DLL_PUBLIC dissector_handle_t | dissector_get_payload_handle (dissector_table_t const dissector_table) |
WS_DLL_PUBLIC void | dissector_add_for_decode_as (const char *name, dissector_handle_t handle) |
WS_DLL_PUBLIC void | dissector_add_for_decode_as_with_preference (const char *name, dissector_handle_t handle) |
WS_DLL_PUBLIC GSList * | dissector_table_get_dissector_handles (dissector_table_t dissector_table) |
WS_DLL_PUBLIC dissector_handle_t | dissector_table_get_dissector_handle (dissector_table_t dissector_table, const char *description) |
WS_DLL_PUBLIC ftenum_t | dissector_table_get_type (dissector_table_t dissector_table) |
WS_DLL_PUBLIC void | dissector_table_allow_decode_as (dissector_table_t dissector_table) |
WS_DLL_PUBLIC bool | dissector_table_supports_decode_as (dissector_table_t dissector_table) |
WS_DLL_PUBLIC heur_dissector_list_t | register_heur_dissector_list_with_description (const char *name, const char *ui_name, const int proto) |
WS_DLL_PUBLIC const char * | heur_dissector_list_get_description (heur_dissector_list_t list) |
WS_DLL_PUBLIC heur_dissector_list_t | register_heur_dissector_list (const char *name, const int proto) |
void | deregister_heur_dissector_list (const char *name) |
WS_DLL_PUBLIC void | heur_dissector_table_foreach (const char *table_name, DATFunc_heur func, void *user_data) |
WS_DLL_PUBLIC void | dissector_all_heur_tables_foreach_table (DATFunc_heur_table func, void *user_data, GCompareFunc compare_key_func) |
WS_DLL_PUBLIC bool | has_heur_dissector_list (const char *name) |
WS_DLL_PUBLIC bool | dissector_try_heuristic (heur_dissector_list_t sub_dissectors, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, heur_dtbl_entry_t **hdtbl_entry, void *data) |
WS_DLL_PUBLIC heur_dissector_list_t | find_heur_dissector_list (const char *name) |
WS_DLL_PUBLIC heur_dtbl_entry_t * | find_heur_dissector_by_unique_short_name (const char *short_name) |
WS_DLL_PUBLIC void | heur_dissector_add (const char *name, heur_dissector_t dissector, const char *display_name, const char *internal_name, const int proto, heuristic_enable_e enable) |
WS_DLL_PUBLIC void | heur_dissector_delete (const char *name, heur_dissector_t dissector, const int proto) |
WS_DLL_PUBLIC dissector_handle_t | register_dissector (const char *name, dissector_t dissector, const int proto) |
WS_DLL_PUBLIC dissector_handle_t | register_dissector_with_description (const char *name, const char *description, dissector_t dissector, const int proto) |
WS_DLL_PUBLIC dissector_handle_t | register_dissector_with_data (const char *name, dissector_cb_t dissector, const int proto, void *cb_data) |
void | deregister_dissector (const char *name) |
WS_DLL_PUBLIC const char * | dissector_handle_get_protocol_long_name (const dissector_handle_t handle) |
WS_DLL_PUBLIC const char * | dissector_handle_get_protocol_short_name (const dissector_handle_t handle) |
WS_DLL_PUBLIC const char * | dissector_handle_get_short_name (const dissector_handle_t handle) |
WS_DLL_PUBLIC const char * | dissector_handle_get_description (const dissector_handle_t handle) |
WS_DLL_PUBLIC int | dissector_handle_get_protocol_index (const dissector_handle_t handle) |
WS_DLL_PUBLIC GList * | get_dissector_names (void) |
WS_DLL_PUBLIC dissector_handle_t | find_dissector (const char *name) |
WS_DLL_PUBLIC dissector_handle_t | find_dissector_add_dependency (const char *name, const int parent_proto) |
WS_DLL_PUBLIC const char * | dissector_handle_get_dissector_name (const dissector_handle_t handle) |
WS_DLL_PUBLIC const char * | dissector_handle_get_pref_suffix (const dissector_handle_t handle) |
WS_DLL_PUBLIC dissector_handle_t | create_dissector_handle (dissector_t dissector, const int proto) |
WS_DLL_PUBLIC dissector_handle_t | create_dissector_handle_with_name (dissector_t dissector, const int proto, const char *name) |
WS_DLL_PUBLIC dissector_handle_t | create_dissector_handle_with_name_and_description (dissector_t dissector, const int proto, const char *name, const char *description) |
WS_DLL_PUBLIC dissector_handle_t | create_dissector_handle_with_data (dissector_cb_t dissector, const int proto, void *cb_data) |
WS_DLL_PUBLIC void | dissector_dump_dissectors (void) |
WS_DLL_PUBLIC int | call_dissector_with_data (dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) |
WS_DLL_PUBLIC int | call_dissector (dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
WS_DLL_PUBLIC int | call_data_dissector (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
WS_DLL_PUBLIC int | call_dissector_only (dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) |
WS_DLL_PUBLIC void | call_heur_dissector_direct (heur_dtbl_entry_t *heur_dtbl_entry, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) |
WS_DLL_PUBLIC bool | register_depend_dissector (const char *parent, const char *dependent) |
WS_DLL_PUBLIC bool | deregister_depend_dissector (const char *parent, const char *dependent) |
WS_DLL_PUBLIC depend_dissector_list_t | find_depend_dissector_list (const char *name) |
void | dissect_init (void) |
void | dissect_cleanup (void) |
WS_DLL_PUBLIC void | set_actual_length (tvbuff_t *tvb, const unsigned specified_len) |
WS_DLL_PUBLIC void | register_init_routine (void(*func)(void)) |
WS_DLL_PUBLIC void | register_cleanup_routine (void(*func)(void)) |
WS_DLL_PUBLIC void | register_shutdown_routine (void(*func)(void)) |
void | init_dissection (void) |
void | cleanup_dissection (void) |
WS_DLL_PUBLIC void | register_postseq_cleanup_routine (void(*func)(void)) |
WS_DLL_PUBLIC void | postseq_cleanup_all_protocols (void) |
WS_DLL_PUBLIC void | register_final_registration_routine (void(*func)(void)) |
void | final_registration_all_protocols (void) |
WS_DLL_PUBLIC void | add_new_data_source (packet_info *pinfo, tvbuff_t *tvb, const char *name) |
WS_DLL_PUBLIC void | remove_last_data_source (packet_info *pinfo) |
WS_DLL_PUBLIC char * | get_data_source_name (const struct data_source *src) |
WS_DLL_PUBLIC tvbuff_t * | get_data_source_tvb (const struct data_source *src) |
WS_DLL_PUBLIC tvbuff_t * | get_data_source_tvb_by_name (packet_info *pinfo, const char *name) |
void | free_data_sources (packet_info *pinfo) |
WS_DLL_PUBLIC void | mark_frame_as_depended_upon (frame_data *fd, uint32_t frame_num) |
void | dissect_record (struct epan_dissect *edt, int file_type_subtype, wtap_rec *rec, const uint8_t *data, frame_data *fd, column_info *cinfo) |
void | dissect_file (struct epan_dissect *edt, wtap_rec *rec, const uint8_t *data, frame_data *fd, column_info *cinfo) |
WS_DLL_PUBLIC void | dissector_dump_decodes (void) |
WS_DLL_PUBLIC void | dissector_dump_heur_decodes (void) |
WS_DLL_PUBLIC void | register_postdissector (dissector_handle_t handle) |
WS_DLL_PUBLIC void | set_postdissector_wanted_hfids (dissector_handle_t handle, GArray *wanted_hfids) |
void | deregister_postdissector (dissector_handle_t handle) |
bool | have_postdissector (void) |
void | call_all_postdissectors (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
WS_DLL_PUBLIC bool | postdissectors_want_hfids (void) |
WS_DLL_PUBLIC void | prime_epan_dissect_with_postdissector_wanted_hfids (epan_dissect_t *edt) |
WS_DLL_PUBLIC void | increment_dissection_depth (packet_info *pinfo) |
WS_DLL_PUBLIC void | decrement_dissection_depth (packet_info *pinfo) |
Definitions for packet disassembly structures and routines
Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later