Wireshark  4.3.0
The Wireshark network protocol analyzer
Classes | Macros | Typedefs | Enumerations | Functions | Variables
proto.h File Reference
#include <stdarg.h>
#include <glib.h>
#include <epan/wmem_scopes.h>
#include "wsutil/inet_cidr.h"
#include "wsutil/nstime.h"
#include "tvbuff.h"
#include "value_string.h"
#include "tfs.h"
#include "packet_info.h"
#include "ftypes/ftypes.h"
#include "register.h"
#include "ws_symbol_export.h"
#include "ws_attributes.h"

Go to the source code of this file.

Classes

struct  _header_field_info
 
struct  hf_register_info
 
struct  _item_label_t
 
struct  field_info
 
struct  crumb_spec_t
 
struct  tree_data_t
 
struct  _proto_node
 
struct  proto_plugin
 
struct  _mac_hf_list_t
 

Macros

#define ITEM_LABEL_LENGTH   240
 
#define ITEM_LABEL_UNKNOWN_STR   "Unknown"
 
#define cast_same(type, x)   (0 ? (type)0 : (x))
 
#define VALS(x)   (cast_same(const struct _value_string*, (x)))
 
#define VALS64(x)   (cast_same(const struct _val64_string*, (x)))
 
#define VALS_EXT_PTR(x)   (cast_same(value_string_ext*, (x)))
 
#define TFS(x)   (cast_same(const struct true_false_string*, (x)))
 
#define CF_FUNC(x)   ((const void *) (gsize) (x))
 
#define RVALS(x)   (cast_same(const struct _range_string*, (x)))
 
#define FRAMENUM_TYPE(x)   GINT_TO_POINTER(x)
 
#define REPORT_DISSECTOR_BUG(...)    proto_report_dissector_bug(__VA_ARGS__)
 
#define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
 
#define __DISSECTOR_ASSERT_STRINGIFY(s)   # s
 
#define __DISSECTOR_ASSERT(expression, file, lineno)
 
#define __DISSECTOR_ASSERT_HINT(expression, file, lineno, hint)
 
#define DISSECTOR_ASSERT(expression)
 
#define DISSECTOR_ASSERT_HINT(expression, hint)
 
#define DISSECTOR_ASSERT_NOT_REACHED()
 
#define __DISSECTOR_ASSERT_CMPINT(a, op, b, type, fmt)
 
#define DISSECTOR_ASSERT_CMPINT(a, op, b)
 
#define DISSECTOR_ASSERT_CMPUINT(a, op, b)
 
#define DISSECTOR_ASSERT_CMPUINTHEX(a, op, b)
 
#define __DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t)
 
#define DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t)
 
#define DISSECTOR_ASSERT_FIELD_TYPE_IS_INTEGRAL(hfinfo)
 
#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo)
 
#define DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo)
 
#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo)
 
#define DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo)
 
#define ENC_BIG_ENDIAN   0x00000000
 
#define ENC_LITTLE_ENDIAN   0x80000000
 
#define ENC_HOST_ENDIAN   ENC_LITTLE_ENDIAN
 
#define ENC_ANTI_HOST_ENDIAN   ENC_BIG_ENDIAN
 
#define ENC_NA   0x00000000
 
#define ENC_CHARENCODING_MASK   0x0000FFFE /* mask out byte-order bits and other bits used with string encodings */
 
#define ENC_ASCII   0x00000000
 
#define ENC_ISO_646_IRV   ENC_ASCII /* ISO 646 International Reference Version = ASCII */
 
#define ENC_UTF_8   0x00000002
 
#define ENC_UTF_16   0x00000004
 
#define ENC_UCS_2   0x00000006
 
#define ENC_UCS_4   0x00000008
 
#define ENC_ISO_8859_1   0x0000000A
 
#define ENC_ISO_8859_2   0x0000000C
 
#define ENC_ISO_8859_3   0x0000000E
 
#define ENC_ISO_8859_4   0x00000010
 
#define ENC_ISO_8859_5   0x00000012
 
#define ENC_ISO_8859_6   0x00000014
 
#define ENC_ISO_8859_7   0x00000016
 
#define ENC_ISO_8859_8   0x00000018
 
#define ENC_ISO_8859_9   0x0000001A
 
#define ENC_ISO_8859_10   0x0000001C
 
#define ENC_ISO_8859_11   0x0000001E
 
#define ENC_ISO_8859_13   0x00000022
 
#define ENC_ISO_8859_14   0x00000024
 
#define ENC_ISO_8859_15   0x00000026
 
#define ENC_ISO_8859_16   0x00000028
 
#define ENC_WINDOWS_1250   0x0000002A
 
#define ENC_3GPP_TS_23_038_7BITS_PACKED   0x0000002C
 
#define ENC_3GPP_TS_23_038_7BITS   ENC_3GPP_TS_23_038_7BITS_PACKED
 
#define ENC_EBCDIC   0x0000002E
 
#define ENC_MAC_ROMAN   0x00000030
 
#define ENC_CP437   0x00000032
 
#define ENC_ASCII_7BITS   0x00000034
 
#define ENC_T61   0x00000036
 
#define ENC_EBCDIC_CP037   0x00000038
 
#define ENC_WINDOWS_1252   0x0000003A
 
#define ENC_WINDOWS_1251   0x0000003C
 
#define ENC_CP855   0x0000003E
 
#define ENC_CP866   0x00000040
 
#define ENC_ISO_646_BASIC   0x00000042
 
#define ENC_BCD_DIGITS_0_9   0x00000044 /* Packed BCD, digits 0-9 */
 
#define ENC_KEYPAD_ABC_TBCD   0x00000046 /* Keypad-with-a/b/c "telephony BCD" = 0-9, *, #, a, b, c */
 
#define ENC_KEYPAD_BC_TBCD   0x00000048 /* Keypad-with-B/C "telephony BCD" = 0-9, B, C, *, # */
 
#define ENC_3GPP_TS_23_038_7BITS_UNPACKED   0x0000004C
 
#define ENC_ETSI_TS_102_221_ANNEX_A   0x0000004E /* ETSI TS 102 221 Annex A */
 
#define ENC_GB18030   0x00000050
 
#define ENC_EUC_KR   0x00000052
 
#define ENC_APN_STR   0x00000054 /* The encoding the APN/DNN field follows 3GPP TS 23.003 [2] clause 9.1.*/
 
#define ENC_DECT_STANDARD_8BITS   0x00000056 /* DECT standard character set as defined in ETSI EN 300 175-5 Annex D */
 
#define ENC_DECT_STANDARD_4BITS_TBCD   0x00000058 /* DECT standard 4bits character set as defined in ETSI EN 300 175-5 Annex D (BCD with 0xb = SPACE)*/
 
#define ENC_EBCDIC_CP500   0x00000060
 
#define ENC_ZIGBEE   0x40000000
 
#define ENC_BOM   0x20000000
 
#define ENC_STR_NUM   0x01000000
 
#define ENC_STR_HEX   0x02000000
 
#define ENC_STRING   0x03000000
 
#define ENC_STR_MASK   0x0000FFFE
 
#define ENC_NUM_PREF   0x00200000
 
#define ENC_SEP_NONE   0x00010000
 
#define ENC_SEP_COLON   0x00020000
 
#define ENC_SEP_DASH   0x00040000
 
#define ENC_SEP_DOT   0x00080000
 
#define ENC_SEP_SPACE   0x00100000
 
#define ENC_SEP_MASK   0x001F0000
 
#define ENC_BCD_ODD_NUM_DIG   0x00010000
 
#define ENC_BCD_SKIP_FIRST   0x00020000
 
#define ENC_TIME_SECS_NSECS   0x00000000
 
#define ENC_TIME_TIMESPEC   0x00000000 /* for backwards source compatibility */
 
#define ENC_TIME_NTP   0x00000002
 
#define ENC_TIME_TOD   0x00000004
 
#define ENC_TIME_RTPS   0x00000008
 
#define ENC_TIME_NTP_BASE_ZERO   0x00000008 /* for backwards source compatibility */
 
#define ENC_TIME_SECS_USECS   0x00000010
 
#define ENC_TIME_TIMEVAL   0x00000010 /* for backwards source compatibility */
 
#define ENC_TIME_SECS   0x00000012
 
#define ENC_TIME_MSECS   0x00000014
 
#define ENC_TIME_SECS_NTP   0x00000018
 
#define ENC_TIME_RFC_3971   0x00000020
 
#define ENC_TIME_MSEC_NTP   0x00000022
 
#define ENC_TIME_MIP6   0x00000024
 
#define ENC_TIME_MP4_FILE_SECS   0x00000026
 
#define ENC_TIME_CLASSIC_MAC_OS_SECS   0x00000026 /* for backwards source compatibility */
 
#define ENC_TIME_NSECS   0x00000028
 
#define ENC_TIME_USECS   0x00000030
 
#define ENC_TIME_ZBEE_ZCL   0x00000032
 
#define ENC_ISO_8601_DATE   0x00010000
 
#define ENC_ISO_8601_TIME   0x00020000
 
#define ENC_ISO_8601_DATE_TIME   0x00030000
 
#define ENC_IMF_DATE_TIME   0x00040000 /* Internet Message Format - RFCs 822, 1123, 2822, 5322 */
 
#define ENC_RFC_822   0x00040000 /* backwards compatibility */
 
#define ENC_RFC_1123   0x00040000 /* backwards source compatibility - not binary */
 
#define ENC_ISO_8601_DATE_TIME_BASIC   0x00100000
 
#define ENC_STR_TIME_MASK   0x001F0000
 
#define ENC_VARINT_PROTOBUF   0x00000002
 
#define ENC_VARINT_QUIC   0x00000004
 
#define ENC_VARINT_ZIGZAG   0x00000008
 
#define ENC_VARINT_SDNV   0x00000010
 
#define ENC_VARINT_MASK   (ENC_VARINT_PROTOBUF|ENC_VARINT_QUIC|ENC_VARINT_ZIGZAG|ENC_VARINT_SDNV)
 
#define FIELD_DISPLAY_E_MASK   0xFF
 
#define FIELD_DISPLAY(d)   ((d) & FIELD_DISPLAY_E_MASK)
 
#define FIELD_DISPLAY_IS_ABSOLUTE_TIME(d)    (FIELD_DISPLAY(d) >= ABSOLUTE_TIME_LOCAL && FIELD_DISPLAY(d) <= ABSOLUTE_TIME_UNIX)
 
#define BASE_RANGE_STRING   0x00000100
 
#define BASE_EXT_STRING   0x00000200
 
#define BASE_VAL64_STRING   0x00000400
 
#define BASE_ALLOW_ZERO   0x00000800
 
#define BASE_UNIT_STRING   0x00001000
 
#define BASE_NO_DISPLAY_VALUE   0x00002000
 
#define BASE_PROTOCOL_INFO   0x00004000
 
#define BASE_SPECIAL_VALS   0x00008000
 
#define BASE_SHOW_ASCII_PRINTABLE   0x00010000
 
#define BASE_SHOW_UTF_8_PRINTABLE   0x00020000
 
#define IS_BASE_DUAL(b)   ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC)
 
#define IS_BASE_PORT(b)   (((b)==BASE_PT_UDP||(b)==BASE_PT_TCP||(b)==BASE_PT_DCCP||(b)==BASE_PT_SCTP))
 
#define HFILL   -1, 0, HF_REF_TYPE_NONE, -1, NULL
 
#define HFILL_INIT(hf)
 
#define FI_HIDDEN   0x00000001
 
#define FI_GENERATED   0x00000002
 
#define FI_URL   0x00000004
 
#define FI_LITTLE_ENDIAN   0x00000008
 
#define FI_BIG_ENDIAN   0x00000010
 
#define FI_BITS_OFFSET(n)   (((n) & 7) << 5)
 
#define FI_BITS_SIZE(n)   (((n) & 63) << 8)
 
#define FI_VARINT   0x00004000
 
#define FI_GET_FLAG(fi, flag)   ((fi) ? ((fi)->flags & (flag)) : 0)
 
#define FI_SET_FLAG(fi, flag)
 
#define FI_RESET_FLAG(fi, flag)
 
#define FI_GET_BITS_OFFSET(fi)   (FI_GET_FLAG(fi, FI_BITS_OFFSET(7)) >> 5)
 
#define FI_GET_BITS_SIZE(fi)   (FI_GET_FLAG(fi, FI_BITS_SIZE(63)) >> 8)
 
#define PI_SEVERITY_MASK   0x00F00000
 
#define PI_COMMENT   0x00100000
 
#define PI_CHAT   0x00200000
 
#define PI_NOTE   0x00400000
 
#define PI_WARN   0x00600000
 
#define PI_ERROR   0x00800000
 
#define PI_GROUP_MASK   0xFF000000
 
#define PI_CHECKSUM   0x01000000
 
#define PI_SEQUENCE   0x02000000
 
#define PI_RESPONSE_CODE   0x03000000
 
#define PI_REQUEST_CODE   0x04000000
 
#define PI_UNDECODED   0x05000000
 
#define PI_REASSEMBLE   0x06000000
 
#define PI_MALFORMED   0x07000000
 
#define PI_DEBUG   0x08000000
 
#define PI_PROTOCOL   0x09000000
 
#define PI_SECURITY   0x0a000000
 
#define PI_COMMENTS_GROUP   0x0b000000
 
#define PI_DECRYPTION   0x0c000000
 
#define PI_ASSUMPTION   0x0d000000
 
#define PI_DEPRECATED   0x0e000000
 
#define PI_RECEIVE   0x0f000000
 
#define PI_INTERFACE   0x10000000
 
#define PI_DISSECTOR_BUG   0x11000000
 
#define PNODE_FINFO(proto_node)   ((proto_node)->finfo)
 
#define PITEM_FINFO(proto_item)   PNODE_FINFO(proto_item)
 
#define PTREE_FINFO(proto_tree)   PNODE_FINFO(proto_tree)
 
#define PTREE_DATA(proto_tree)   ((proto_tree)->tree_data)
 
#define PNODE_POOL(proto_node)   ((proto_node)->tree_data->pinfo->pool)
 
#define PROTO_ITEM_IS_HIDDEN(ti)   proto_item_is_hidden((ti))
 
#define PROTO_ITEM_SET_HIDDEN(ti)   proto_item_set_hidden((ti))
 
#define PROTO_ITEM_SET_VISIBLE(ti)   proto_item_set_visible((ti))
 
#define PROTO_ITEM_IS_GENERATED(ti)   proto_item_is_generated((ti))
 
#define PROTO_ITEM_SET_GENERATED(ti)   proto_item_set_generated((ti))
 
#define PROTO_ITEM_IS_URL(ti)   proto_item_is_url((ti))
 
#define PROTO_ITEM_SET_URL(ti)   proto_item_set_url((ti))
 
#define BMT_NO_FLAGS   0x00
 
#define BMT_NO_APPEND   0x01
 
#define BMT_NO_INT   0x02
 
#define BMT_NO_FALSE   0x04
 
#define BMT_NO_TFS   0x08
 
#define PROTO_CHECKSUM_NO_FLAGS   0x00
 
#define PROTO_CHECKSUM_VERIFY   0x01
 
#define PROTO_CHECKSUM_GENERATED   0x02
 
#define PROTO_CHECKSUM_IN_CKSUM   0x04
 
#define PROTO_CHECKSUM_ZERO   0x08
 
#define PROTO_CHECKSUM_NOT_PRESENT   0x10
 

Typedefs

typedef void(* custom_fmt_func_t) (gchar *, guint32)
 
typedef void(* custom_fmt_func_64_t) (gchar *, guint64)
 
typedef void(* custom_fmt_func_double_t) (gchar *, double)
 
typedef struct _protocol protocol_t
 
typedef struct _header_field_info header_field_info
 
typedef struct hf_register_info hf_register_info
 
typedef struct _item_label_t item_label_t
 
typedef struct field_info field_info
 
typedef struct _proto_node proto_node
 
typedef proto_node proto_tree
 
typedef proto_node proto_item
 
typedef void(* proto_tree_foreach_func) (proto_node *, void *)
 
typedef bool(* proto_tree_traverse_func) (proto_node *, void *)
 
typedef WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item struct _mac_hf_list_t mac_hf_list_t
 
typedef void(* prefix_initializer_t) (const char *match)
 

Enumerations

enum  field_display_e {
  BASE_NONE = 0 , BASE_DEC , BASE_HEX , BASE_OCT ,
  BASE_DEC_HEX , BASE_HEX_DEC , BASE_CUSTOM , BASE_EXP ,
  SEP_DOT , SEP_DASH , SEP_COLON , SEP_SPACE ,
  BASE_NETMASK , BASE_PT_UDP , BASE_PT_TCP , BASE_PT_DCCP ,
  BASE_PT_SCTP , BASE_OUI , ABSOLUTE_TIME_LOCAL , ABSOLUTE_TIME_UTC ,
  ABSOLUTE_TIME_DOY_UTC , ABSOLUTE_TIME_NTP_UTC , ABSOLUTE_TIME_UNIX , BASE_STR_WSP
}
 
enum  hf_ref_type { HF_REF_TYPE_NONE , HF_REF_TYPE_INDIRECT , HF_REF_TYPE_DIRECT , HF_REF_TYPE_PRINT }
 
enum  proto_checksum_enum_e {
  PROTO_CHECKSUM_E_BAD = 0 , PROTO_CHECKSUM_E_GOOD , PROTO_CHECKSUM_E_UNVERIFIED , PROTO_CHECKSUM_E_NOT_PRESENT ,
  PROTO_CHECKSUM_E_ILLEGAL
}
 

Functions

WS_DLL_PUBLIC WS_NORETURN void proto_report_dissector_bug (const char *format,...) G_GNUC_PRINTF(1
 
WS_DLL_PUBLIC void proto_tree_children_foreach (proto_tree *tree, proto_tree_foreach_func func, gpointer data)
 
WS_DLL_PUBLIC void proto_register_plugin (const proto_plugin *plugin)
 
void proto_init (GSList *register_all_plugin_protocols_list, GSList *register_all_plugin_handoffs_list, register_cb cb, void *client_data)
 
void proto_cleanup (void)
 
WS_DLL_PUBLIC gboolean proto_field_is_referenced (proto_tree *tree, int proto_id)
 
WS_DLL_PUBLIC proto_treeproto_item_add_subtree (proto_item *pi, const gint idx) G_GNUC_WARN_UNUSED_RESULT
 
WS_DLL_PUBLIC proto_treeproto_item_get_subtree (proto_item *pi)
 
WS_DLL_PUBLIC proto_itemproto_item_get_parent (const proto_item *pi)
 
WS_DLL_PUBLIC proto_itemproto_item_get_parent_nth (proto_item *pi, int gen)
 
WS_DLL_PUBLIC void proto_item_set_text (proto_item *pi, const char *format,...) G_GNUC_PRINTF(2
 
WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_append_text (proto_item *pi, const char *format,...) G_GNUC_PRINTF(2
 
WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_prepend_text (proto_item *pi, const char *format,...) G_GNUC_PRINTF(2
 
WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_set_len (proto_item *pi, const gint length)
 
WS_DLL_PUBLIC void proto_item_set_end (proto_item *pi, tvbuff_t *tvb, gint end)
 
WS_DLL_PUBLIC int proto_item_get_len (const proto_item *pi)
 
WS_DLL_PUBLIC void proto_item_set_bits_offset_len (proto_item *ti, int bits_offset, int bits_len)
 
WS_DLL_PUBLIC char * proto_item_get_display_repr (wmem_allocator_t *scope, proto_item *pi)
 
proto_treeproto_tree_create_root (struct _packet_info *pinfo)
 
void proto_tree_reset (proto_tree *tree)
 
WS_DLL_PUBLIC void proto_tree_free (proto_tree *tree)
 
WS_DLL_PUBLIC gboolean proto_tree_set_visible (proto_tree *tree, gboolean visible)
 
void proto_tree_set_fake_protocols (proto_tree *tree, gboolean fake_protocols)
 
void proto_tree_prime_with_hfid (proto_tree *tree, const int hfid)
 
void proto_tree_prime_with_hfid_print (proto_tree *tree, const int hfid)
 
WS_DLL_PUBLIC proto_itemproto_tree_get_parent (proto_tree *tree)
 
WS_DLL_PUBLIC proto_treeproto_tree_get_parent_tree (proto_tree *tree)
 
WS_DLL_PUBLIC proto_treeproto_tree_get_root (proto_tree *tree)
 
WS_DLL_PUBLIC void proto_tree_move_item (proto_tree *tree, proto_item *fixed_item, proto_item *item_to_move)
 
WS_DLL_PUBLIC void proto_tree_set_appendix (proto_tree *tree, tvbuff_t *tvb, gint start, const gint length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_new (proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const gint start, gint length, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_new_ret_length (proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_int (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint32 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_int64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint64 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_uint (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, guint32 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_uint64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, guint64 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_varint (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, guint64 *retval, gint *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_boolean (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, bool *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ipv4 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, ws_in4_addr *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ipv6 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, ws_in6_addr *retval)
 Parse an ipv6 address from the buffer and add it to the tree, writing the value to the pointer specified by the caller. The pointer must not be null. More...
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ether (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, guint8 *retval)
 Parse an ethernet address from the buffer and add it to the tree, writing the value to the pointer specified by the caller. The pointer must not be null. More...
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_float (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gfloat *retval)
 Parse a float from the buffer and add it to the tree, returning the item added and the parsed value via retval. More...
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_double (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gdouble *retval)
 Parse a double from the buffer and add it to the tree, returning the item added and the parsed value via retval. More...
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_string_and_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, const guint8 **retval, gint *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, const guint8 **retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_display_string_and_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval, gint *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_display_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_time_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval)
 
proto_itemproto_tree_add_text_internal (proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format,...) G_GNUC_PRINTF(5
 
proto_item proto_itemproto_tree_add_text_valist_internal (proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format, va_list ap) G_GNUC_PRINTF(5
 
proto_item proto_item WS_DLL_PUBLIC proto_treeproto_tree_add_subtree (proto_tree *tree, tvbuff_t *tvb, gint start, gint length, gint idx, proto_item **tree_item, const char *text)
 
WS_DLL_PUBLIC proto_treeproto_tree_add_subtree_format (proto_tree *tree, tvbuff_t *tvb, gint start, gint length, gint idx, proto_item **tree_item, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_tree proto_itemproto_tree_add_format_text (proto_tree *tree, tvbuff_t *tvb, gint start, gint length)
 
proto_itemproto_tree_add_format_wsp_text (proto_tree *tree, tvbuff_t *tvb, gint start, gint length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_none_format (proto_tree *tree, const int hfindex, tvbuff_t *tvb, const gint start, gint length, const char *format,...) G_GNUC_PRINTF(6
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_protocol_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *format,...) G_GNUC_PRINTF(6
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_bytes (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_with_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, gint ptr_length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, GByteArray *retval, gint *endoff, gint *err)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_time (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const nstime_t *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_time_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, nstime_t *retval, gint *endoff, gint *err)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_time_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, nstime_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_time_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, nstime_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipxnet (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ipxnet_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipxnet_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipv4 (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ipv4_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipv4_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipv6 (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const ws_in6_addr *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ipv6_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const ws_in6_addr *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ipv6_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const ws_in6_addr *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ether (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ether_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ether_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_guid (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const e_guid_t *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_guid_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const e_guid_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_guid_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const e_guid_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_oid (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_oid_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_oid_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value_ptr, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_string_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_string_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_boolean (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_boolean_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_boolean_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_float (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, float value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_float_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, float value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_float_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, float value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_double (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, double value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_double_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, double value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_double_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, double value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_uint (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_uint_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_uint64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_uint64_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_int (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint32 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_int_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_int_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint32 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_int64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_int64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_int64_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_eui64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_eui64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_eui64_format (proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint64 value, const char *format,...) G_GNUC_PRINTF(7
 
WS_DLL_PUBLIC proto_itemproto_tree_add_mac48_detail (const mac_hf_list_t *list_specific, const mac_hf_list_t *list_generic, gint idx, tvbuff_t *tvb, proto_tree *tree, gint offset)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_debug_text (proto_tree *tree, const char *format,...) G_GNUC_PRINTF(2
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC void proto_item_fill_label (const field_info *finfo, gchar *label_str)
 
WS_DLL_PUBLIC int proto_item_fill_display_label (const field_info *fi, gchar *display_label_str, const int label_str_size)
 
WS_DLL_PUBLIC int proto_register_protocol (const char *name, const char *short_name, const char *filter_name)
 
WS_DLL_PUBLIC int proto_register_protocol_in_name_only (const char *name, const char *short_name, const char *filter_name, int parent_proto, enum ftenum field_type)
 
gboolean proto_deregister_protocol (const char *short_name)
 
WS_DLL_PUBLIC void proto_register_alias (const int proto_id, const char *alias_name)
 
WS_DLL_PUBLIC void proto_register_prefix (const char *prefix, prefix_initializer_t initializer)
 
WS_DLL_PUBLIC void proto_initialize_all_prefixes (void)
 
WS_DLL_PUBLIC void proto_register_field_array (const int parent, hf_register_info *hf, const int num_records)
 
WS_DLL_PUBLIC void proto_deregister_field (const int parent, gint hf_id)
 
WS_DLL_PUBLIC void proto_add_deregistered_data (void *data)
 
void proto_add_deregistered_slice (gsize block_size, gpointer mem_block)
 
WS_DLL_PUBLIC void proto_free_field_strings (ftenum_t field_type, unsigned int field_display, const void *field_strings)
 
WS_DLL_PUBLIC void proto_free_deregistered_fields (void)
 
WS_DLL_PUBLIC void proto_register_subtree_array (gint *const *indices, const int num_indices)
 
WS_DLL_PUBLIC const char * proto_registrar_get_name (const int n)
 
WS_DLL_PUBLIC const char * proto_registrar_get_abbrev (const int n)
 
WS_DLL_PUBLIC header_field_infoproto_registrar_get_nth (guint hfindex)
 
WS_DLL_PUBLIC header_field_infoproto_registrar_get_byname (const char *field_name)
 
WS_DLL_PUBLIC header_field_infoproto_registrar_get_byalias (const char *alias_name)
 
WS_DLL_PUBLIC int proto_registrar_get_id_byname (const char *field_name)
 
WS_DLL_PUBLIC enum ftenum proto_registrar_get_ftype (const int n)
 
WS_DLL_PUBLIC int proto_registrar_get_parent (const int n)
 
WS_DLL_PUBLIC gboolean proto_registrar_is_protocol (const int n)
 
gint proto_registrar_get_length (const int n)
 
WS_DLL_PUBLIC int proto_get_first_protocol (void **cookie)
 
WS_DLL_PUBLIC int proto_get_data_protocol (void *cookie)
 
WS_DLL_PUBLIC int proto_get_next_protocol (void **cookie)
 
WS_DLL_PUBLIC header_field_infoproto_get_first_protocol_field (const int proto_id, void **cookie)
 
WS_DLL_PUBLIC header_field_infoproto_get_next_protocol_field (const int proto_id, void **cookie)
 
WS_DLL_PUBLIC int proto_name_already_registered (const gchar *name)
 
WS_DLL_PUBLIC int proto_get_id_by_filter_name (const gchar *filter_name)
 
WS_DLL_PUBLIC int proto_get_id_by_short_name (const gchar *short_name)
 
WS_DLL_PUBLIC gboolean proto_can_toggle_protocol (const int proto_id)
 
WS_DLL_PUBLIC protocol_tfind_protocol_by_id (const int proto_id)
 
WS_DLL_PUBLIC const char * proto_get_protocol_name (const int proto_id)
 
WS_DLL_PUBLIC int proto_get_id (const protocol_t *protocol)
 
WS_DLL_PUBLIC const char * proto_get_protocol_short_name (const protocol_t *protocol)
 
WS_DLL_PUBLIC const char * proto_get_protocol_long_name (const protocol_t *protocol)
 
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled (const protocol_t *protocol)
 
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled_by_default (const protocol_t *protocol)
 
WS_DLL_PUBLIC gboolean proto_is_pino (const protocol_t *protocol)
 
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name (const int proto_id)
 
void proto_add_heuristic_dissector (protocol_t *protocol, const char *short_name)
 
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach (const protocol_t *protocol, GFunc func, gpointer user_data)
 
WS_DLL_PUBLIC void proto_get_frame_protocols (const wmem_list_t *layers, bool *is_ip, bool *is_tcp, bool *is_udp, bool *is_sctp, bool *is_tls, bool *is_rtp, bool *is_lte_rlc)
 
WS_DLL_PUBLIC gboolean proto_is_frame_protocol (const wmem_list_t *layers, const char *proto_name)
 
WS_DLL_PUBLIC gchar * proto_list_layers (const packet_info *pinfo)
 
WS_DLL_PUBLIC void proto_disable_by_default (const int proto_id)
 
WS_DLL_PUBLIC void proto_set_decoding (const int proto_id, const gboolean enabled)
 
WS_DLL_PUBLIC void proto_disable_all (void)
 
WS_DLL_PUBLIC void proto_reenable_all (void)
 
WS_DLL_PUBLIC void proto_set_cant_toggle (const int proto_id)
 
gboolean proto_check_for_protocol_or_field (const proto_tree *tree, const int id)
 
WS_DLL_PUBLIC GPtrArray * proto_get_finfo_ptr_array (const proto_tree *tree, const int hfindex)
 
WS_DLL_PUBLIC gboolean proto_tracking_interesting_fields (const proto_tree *tree)
 
WS_DLL_PUBLIC GPtrArray * proto_find_finfo (proto_tree *tree, const int hfindex)
 
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo (proto_tree *tree, const int hfindex)
 
WS_DLL_PUBLIC GPtrArray * proto_all_finfos (proto_tree *tree)
 
WS_DLL_PUBLIC void proto_registrar_dump_protocols (void)
 
WS_DLL_PUBLIC void proto_registrar_dump_values (void)
 
WS_DLL_PUBLIC void proto_registrar_dump_elastic (const gchar *filter)
 
WS_DLL_PUBLIC gboolean proto_registrar_dump_fieldcount (void)
 
WS_DLL_PUBLIC void proto_registrar_dump_fields (void)
 
WS_DLL_PUBLIC gboolean proto_registrar_dump_field_completions (char *prefix)
 
WS_DLL_PUBLIC void proto_registrar_dump_ftypes (void)
 
WS_DLL_PUBLIC const char * proto_field_display_to_string (int field_display)
 
WS_DLL_PUBLIC gboolean tree_expanded (int tree_type)
 
WS_DLL_PUBLIC void tree_expanded_set (int tree_type, gboolean value)
 
WS_DLL_PUBLIC int hfinfo_bitshift (const header_field_info *hfinfo)
 
WS_DLL_PUBLIC gboolean proto_can_match_selected (const field_info *finfo, struct epan_dissect *edt)
 
WS_DLL_PUBLIC char * proto_construct_match_selected_string (const field_info *finfo, struct epan_dissect *edt)
 
WS_DLL_PUBLIC field_infoproto_find_field_from_offset (proto_tree *tree, guint offset, tvbuff_t *tvb)
 
WS_DLL_PUBLIC gchar * proto_find_undecoded_data (proto_tree *tree, guint length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, guint64 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_with_flags (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, const int flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_with_flags_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, const int flags, guint64 *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_value (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_value_with_flags (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint64 value, const int flags)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint encoding)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint encoding, guint64 *retval)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_value (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint64 value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_len (proto_tree *tree, tvbuff_t *tvb, const guint offset, const guint len, const int hf_hdr, const gint ett, int *const *fields, struct expert_field *exp, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_text (proto_tree *tree, tvbuff_t *tvb, const guint offset, const guint len, const char *name, const char *fallback, const gint ett, int *const *fields, const guint encoding, const int flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bits_item (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_split_bits_item_ret_val (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const crumb_spec_t *crumb_spec, guint64 *return_value)
 
void proto_tree_add_split_bits_crumb (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const crumb_spec_t *crumb_spec, guint16 crumb_index)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bits_ret_val (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint64 *return_value, const guint encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint32 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_uint64_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_itemproto_tree_add_boolean_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_itemproto_tree_add_int_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, gint32 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_itemproto_tree_add_int64_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, gint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_item proto_itemproto_tree_add_float_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, float value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
 
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_item proto_item WS_DLL_PUBLIC proto_itemproto_tree_add_ts_23_038_7bits_packed_item (proto_tree *tree, const int hfindex, tvbuff_t *tvb, const guint bit_offset, const gint no_of_chars)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ascii_7bits_item (proto_tree *tree, const int hfindex, tvbuff_t *tvb, const guint bit_offset, const gint no_of_chars)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_checksum (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, guint32 computed_checksum, const guint encoding, const guint flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_checksum_bytes (proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, const uint8_t *computed_checksum, size_t checksum_len, const guint flags)
 
WS_DLL_PUBLIC guchar proto_check_field_name (const gchar *field_name)
 
WS_DLL_PUBLIC guchar proto_check_field_name_lower (const gchar *field_name)
 
const gchar * proto_custom_set (proto_tree *tree, GSList *field_id, gint occurrence, gchar *result, gchar *expr, const int size)
 
gchar * proto_custom_get_filter (struct epan_dissect *edt, GSList *field_id, gint occurrence)
 
const char * hfinfo_char_value_format_display (int display, char buf[7], guint32 value)
 

Variables

WS_DLL_PUBLIC int hf_text_only
 
WS_DLL_PUBLIC int num_tree_types
 
WS_DLL_PUBLIC const value_string proto_checksum_vals []
 

Detailed Description

The protocol tree related functions.
A protocol tree will hold all necessary data to display the whole dissected packet. Creating a protocol tree is done in a two stage process: A static part at program startup, and a dynamic part when the dissection with the real packet data is done.
The "static" information is provided by creating a hf_register_info hf[] array, and register it using the proto_register_field_array() function. This is usually done at dissector registering.
The "dynamic" information is added to the protocol tree by calling one of the proto_tree_add_...() functions, e.g. proto_tree_add_bytes().