Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
proto.h File Reference
#include "wsutil/nstime.h"
#include "tvbuff.h"
#include "value_string.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 UNS(x)   (cast_same(const struct unit_name_string*, (x)))
 
#define CF_FUNC(x)   ((const void *) (size_t) (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 PNODE_HFINFO(proto_node)   ((proto_node)->hfinfo)
 
#define PITEM_HFINFO(proto_item)   PNODE_HFINFO(proto_item)
 
#define PTREE_HFINFO(proto_tree)   PNODE_HFINFO(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) (char *, uint32_t)
 
typedef void(* custom_fmt_func_64_t) (char *, uint64_t)
 
typedef void(* custom_fmt_func_double_t) (char *, 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, void *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 bool proto_field_is_referenced (proto_tree *tree, int proto_id)
 
WS_DLL_PUBLIC proto_treeproto_item_add_subtree (proto_item *pi, const int 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 int length)
 
WS_DLL_PUBLIC void proto_item_set_end (proto_item *pi, tvbuff_t *tvb, int 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 bool proto_tree_set_visible (proto_tree *tree, bool visible)
 
void proto_tree_set_fake_protocols (proto_tree *tree, bool 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, int start, const int length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_new (proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const int start, int length, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_new_ret_length (proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const int start, int length, const unsigned encoding, int *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, int *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_int (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, int32_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_int64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, int64_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_uint (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, uint32_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_uint64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, uint64_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_varint (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, uint64_t *retval, int *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_boolean (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, bool *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ipv4 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, ws_in4_addr *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ipv6 (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned 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.
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_ether (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, uint8_t *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.
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_float (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, float *retval)
 Parse a float from the buffer and add it to the tree, returning the item added and the parsed value via retval.
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_double (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, double *retval)
 Parse a double from the buffer and add it to the tree, returning the item added and the parsed value via retval.
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_string_and_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, wmem_allocator_t *scope, const uint8_t **retval, int *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, wmem_allocator_t *scope, const uint8_t **retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_display_string_and_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, wmem_allocator_t *scope, char **retval, int *lenretval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_item_ret_display_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned 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 int start, int length, const unsigned encoding, wmem_allocator_t *scope, char **retval)
 
proto_itemproto_tree_add_text_internal (proto_tree *tree, tvbuff_t *tvb, int start, int length, const char *format,...) G_GNUC_PRINTF(5
 
proto_item proto_itemproto_tree_add_text_valist_internal (proto_tree *tree, tvbuff_t *tvb, int start, int 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, int start, int length, int idx, proto_item **tree_item, const char *text)
 
WS_DLL_PUBLIC proto_treeproto_tree_add_subtree_format (proto_tree *tree, tvbuff_t *tvb, int start, int length, int 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, int start, int length)
 
proto_itemproto_tree_add_format_wsp_text (proto_tree *tree, tvbuff_t *tvb, int start, int length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_none_format (proto_tree *tree, const int hfindex, tvbuff_t *tvb, const int start, int 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, int start, int 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, int start, int length, const uint8_t *start_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_with_length (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *start_ptr, int ptr_length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, GByteArray *retval, int *endoff, int *err)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bytes_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *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, int start, int length, const uint8_t *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, int start, int length, const nstime_t *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_time_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding, nstime_t *retval, int *endoff, int *err)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_time_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int 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, int start, int 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, int start, int length, uint32_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ipxnet_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint32_t 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, int start, int length, uint32_t 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, int start, int length, ws_in4_addr value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ipv4_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int 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, int start, int 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, int start, int 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, int start, int 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, int start, int 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, int start, int length, const uint8_t *value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ether_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *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, int start, int length, const uint8_t *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, int start, int 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, int start, int 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, int start, int 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, int start, int length, const uint8_t *value_ptr)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_oid_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *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, int start, int length, const uint8_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_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const char *value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_string_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int 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, int start, int 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, int start, int length, uint64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_boolean_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint64_t 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, int start, int length, uint64_t 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, int start, int length, float value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_float_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int 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, int start, int 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, int start, int length, double value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_double_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int 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, int start, int 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, int start, int length, uint32_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint32_t 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, int start, int length, uint32_t 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, int start, int length, uint64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint64_t 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, int start, int length, uint64_t 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, int start, int length, int32_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_int_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, int32_t 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, int start, int length, int32_t 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, int start, int length, int64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_int64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, int64_t 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, int start, int length, int64_t 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, int start, int length, const uint64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_eui64_format_value (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint64_t 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, int start, int length, const uint64_t 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, int idx, tvbuff_t *tvb, proto_tree *tree, int 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, char *label_str, size_t *value_offset)
 
WS_DLL_PUBLIC int proto_item_fill_display_label (const field_info *fi, char *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)
 
bool 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, int hf_id)
 
WS_DLL_PUBLIC void proto_add_deregistered_data (void *data)
 
void proto_add_deregistered_slice (size_t block_size, void *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 (int *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 (unsigned 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 bool proto_registrar_is_protocol (const int n)
 
int 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 bool proto_name_already_registered (const char *name)
 
WS_DLL_PUBLIC int proto_get_id_by_filter_name (const char *filter_name)
 
WS_DLL_PUBLIC int proto_get_id_by_short_name (const char *short_name)
 
WS_DLL_PUBLIC bool 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 bool proto_is_protocol_enabled (const protocol_t *protocol)
 
WS_DLL_PUBLIC bool proto_is_protocol_enabled_by_default (const protocol_t *protocol)
 
WS_DLL_PUBLIC bool 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, void *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 bool proto_is_frame_protocol (const wmem_list_t *layers, const char *proto_name)
 
WS_DLL_PUBLIC char * 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 bool 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)
 
bool 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 bool 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 char *filter)
 
WS_DLL_PUBLIC bool proto_registrar_dump_fieldcount (void)
 
WS_DLL_PUBLIC void proto_registrar_dump_fields (void)
 
WS_DLL_PUBLIC bool proto_registrar_dump_field_completions (const 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 bool tree_expanded (int tree_type)
 
WS_DLL_PUBLIC void tree_expanded_set (int tree_type, bool value)
 
WS_DLL_PUBLIC int hfinfo_bitshift (const header_field_info *hfinfo)
 
WS_DLL_PUBLIC bool 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, unsigned offset, tvbuff_t *tvb)
 
WS_DLL_PUBLIC char * proto_find_undecoded_data (proto_tree *tree, unsigned length)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, uint64_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_with_flags (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, const int flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_with_flags_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, const int flags, uint64_t *retval)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_value (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const uint64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_value_with_flags (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const uint64_t value, const int flags)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int len, int *const *fields, const unsigned encoding)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_ret_uint64 (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int len, int *const *fields, const unsigned encoding, uint64_t *retval)
 
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_value (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int len, int *const *fields, const uint64_t value)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_len (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, const int hf_hdr, const int ett, int *const *fields, struct expert_field *exp, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bitmask_text (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, const char *name, const char *fallback, const int ett, int *const *fields, const unsigned encoding, const int flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bits_item (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_split_bits_item_ret_val (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const crumb_spec_t *crumb_spec, uint64_t *return_value)
 
void proto_tree_add_split_bits_crumb (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const crumb_spec_t *crumb_spec, uint16_t crumb_index)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_bits_ret_val (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint64_t *return_value, const unsigned encoding)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_uint_bits_format_value (proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint32_t value, const unsigned 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 unsigned bit_offset, const int no_of_bits, uint64_t value, const unsigned 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 unsigned bit_offset, const int no_of_bits, uint64_t value, const unsigned 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 unsigned bit_offset, const int no_of_bits, int32_t value, const unsigned 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 unsigned bit_offset, const int no_of_bits, int64_t value, const unsigned 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 unsigned bit_offset, const int no_of_bits, float value, const unsigned 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 unsigned bit_offset, const int no_of_chars)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_ascii_7bits_item (proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_chars)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_checksum (proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, uint32_t computed_checksum, const unsigned encoding, const unsigned flags)
 
WS_DLL_PUBLIC proto_itemproto_tree_add_checksum_bytes (proto_tree *tree, tvbuff_t *tvb, const unsigned 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 unsigned flags)
 
WS_DLL_PUBLIC unsigned char proto_check_field_name (const char *field_name)
 
WS_DLL_PUBLIC unsigned char proto_check_field_name_lower (const char *field_name)
 
const char * proto_custom_set (proto_tree *tree, GSList *field_id, int occurrence, bool display_details, char *result, char *expr, const int size)
 
char * proto_custom_get_filter (struct epan_dissect *edt, GSList *field_id, int occurrence)
 
const char * hfinfo_char_value_format_display (int display, char buf[7], uint32_t 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().