Wireshark 4.5.0
The Wireshark network protocol analyzer
|
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_tree * | proto_item_add_subtree (proto_item *pi, const int idx) G_GNUC_WARN_UNUSED_RESULT |
WS_DLL_PUBLIC proto_tree * | proto_item_get_subtree (proto_item *pi) |
WS_DLL_PUBLIC proto_item * | proto_item_get_parent (const proto_item *pi) |
WS_DLL_PUBLIC proto_item * | proto_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_tree * | proto_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_item * | proto_tree_get_parent (proto_tree *tree) |
WS_DLL_PUBLIC proto_tree * | proto_tree_get_parent_tree (proto_tree *tree) |
WS_DLL_PUBLIC proto_tree * | proto_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_item * | proto_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_item * | proto_tree_add_item (proto_tree *tree, int hfindex, tvbuff_t *tvb, const int start, int length, const unsigned encoding) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_tree_add_text_internal (proto_tree *tree, tvbuff_t *tvb, int start, int length, const char *format,...) G_GNUC_PRINTF(5 |
proto_item proto_item * | proto_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_tree * | proto_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_tree * | proto_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_item * | proto_tree_add_format_text (proto_tree *tree, tvbuff_t *tvb, int start, int length) |
proto_item * | proto_tree_add_format_wsp_text (proto_tree *tree, tvbuff_t *tvb, int start, int length) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_bytes (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *start_ptr) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_tree_add_time (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const nstime_t *value_ptr) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_tree_add_ipxnet (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint32_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_ipv4 (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, ws_in4_addr value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_tree_add_ether (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_tree_add_oid (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint8_t *value_ptr) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_string (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const char *value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_boolean (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint64_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_float (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, float value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_double (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, double value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_uint (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint32_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_uint64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, uint64_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_int (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, int32_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_int64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, int64_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_tree_add_eui64 (proto_tree *tree, int hfindex, tvbuff_t *tvb, int start, int length, const uint64_t value) |
WS_DLL_PUBLIC proto_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_info * | proto_registrar_get_nth (unsigned hfindex) |
WS_DLL_PUBLIC header_field_info * | proto_registrar_get_byname (const char *field_name) |
WS_DLL_PUBLIC header_field_info * | proto_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_info * | proto_get_first_protocol_field (const int proto_id, void **cookie) |
WS_DLL_PUBLIC header_field_info * | proto_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_t * | find_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_info * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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_item * | proto_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) |
Variables | |
WS_DLL_PUBLIC int | hf_text_only |
WS_DLL_PUBLIC int | num_tree_types |
WS_DLL_PUBLIC const value_string | proto_checksum_vals [] |
Dissectors use proto_tree_add_* to add items to the protocol tree. In most cases you'll want to use proto_tree_add_item().
#define __DISSECTOR_ASSERT | ( | expression, | |
file, | |||
lineno | |||
) |
#define __DISSECTOR_ASSERT_CMPINT | ( | a, | |
op, | |||
b, | |||
type, | |||
fmt | |||
) |
Compare two integers.
This is functionally the same as DISSECTOR_ASSERT(a op b)
except that it will display the values of a and b upon failure.
DISSECTOR_ASSERT_CMPINT(a, ==, b); DISSECTOR_ASSERT_CMPINT(min, <=, max);
This function can currently compare values that fit inside a int64_t.
WARNING: The number of times the arguments are evaluated is undefined. Do not use expressions with side effects as arguments.
a | The first integer. |
op | Any binary operator. |
b | The second integer. |
type | the type operator |
fmt | the fmt operator |
#define __DISSECTOR_ASSERT_FIELD_TYPE | ( | hfinfo, | |
t | |||
) |
#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING | ( | hfinfo | ) |
#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME | ( | hfinfo | ) |
#define __DISSECTOR_ASSERT_HINT | ( | expression, | |
file, | |||
lineno, | |||
hint | |||
) |
#define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT | ( | expression | ) |
Macro used to provide a hint to static analysis tools. (Currently only Visual C++.)
#define __DISSECTOR_ASSERT_STRINGIFY | ( | s | ) | # s |
Macro used for assertions in dissectors; it doesn't abort, it just throws a DissectorError exception, with the assertion failure message as a parameter, so that it can show up in the protocol tree.
NOTE: this should only be used to detect bugs in the dissector (e.g., logic conditions that shouldn't happen). It should NOT be used for showing that a packet is malformed. For that, use expert_infos instead.
s | expression to test in the assertion |
#define BASE_ALLOW_ZERO 0x00000800 |
Display <none>
instead of <MISSING>
for zero sized byte array
#define BASE_NO_DISPLAY_VALUE 0x00002000 |
Just display the field name with no value. Intended for byte arrays or header fields above a subtree
#define BASE_PROTOCOL_INFO 0x00004000 |
protocol_t in [FIELDCONVERT]. Internal use only.
#define BASE_RANGE_STRING 0x00000100 |
Use the supplied range string to convert the field to text
#define BASE_SHOW_ASCII_PRINTABLE 0x00010000 |
show byte array as ASCII if it's all printable characters
#define BASE_SHOW_UTF_8_PRINTABLE 0x00020000 |
show byte array as UTF-8 if it's all valid and printable UTF-8 characters
#define BASE_SPECIAL_VALS 0x00008000 |
field will not display "Unknown" if value_string match is not found
#define BASE_UNIT_STRING 0x00001000 |
Add unit text to the field value
#define BMT_NO_APPEND 0x01 |
Don't change the title at all
#define BMT_NO_FALSE 0x04 |
Don't add booleans unless they're true
#define BMT_NO_FLAGS 0x00 |
Don't use any flags
#define BMT_NO_INT 0x02 |
Don't add integral (non-boolean) fields to title
#define BMT_NO_TFS 0x08 |
Don't use true_false_string while formatting booleans
#define CF_FUNC | ( | x | ) | ((const void *) (size_t) (x)) |
Make a custom format function pointer look like a void pointer. Used to set header_field_info.strings.
We cast to size_t first, which 1) is guaranteed to be wide enough to hold a pointer and 2) lets us side-step warnings about casting function pointers to 'void *'. This violates ISO C but should be fine on POSIX and Windows.
#define DISSECTOR_ASSERT | ( | expression | ) |
#define DISSECTOR_ASSERT_CMPINT | ( | a, | |
op, | |||
b | |||
) |
#define DISSECTOR_ASSERT_CMPUINT | ( | a, | |
op, | |||
b | |||
) |
Like DISSECTOR_ASSERT_CMPINT() except the arguments are treated as unsigned values.
This function can currently compare values that fit inside a uint64_t.
#define DISSECTOR_ASSERT_CMPUINTHEX | ( | a, | |
op, | |||
b | |||
) |
Like DISSECTOR_ASSERT_CMPUINT() except the values are displayed in hexadecimal upon assertion failure.
#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_TIME | ( | hfinfo | ) |
#define DISSECTOR_ASSERT_HINT | ( | expression, | |
hint | |||
) |
Same as DISSECTOR_ASSERT(), but takes an extra 'hint' parameter that can be used to provide information as to why the assertion might fail.
expression | expression to test in the assertion |
hint | message providing extra information |
#define DISSECTOR_ASSERT_NOT_REACHED | ( | ) |
Same as DISSECTOR_ASSERT(), but will throw DissectorError exception unconditionally, much like GLIB's g_assert_not_reached works.
NOTE: this should only be used to detect bugs in the dissector (e.g., logic conditions that shouldn't happen). It should NOT be used for showing that a packet is malformed. For that, use expert_infos instead.
#define FI_BIG_ENDIAN 0x00000010 |
The protocol field value is in big endian
#define FI_BITS_OFFSET | ( | n | ) | (((n) & 7) << 5) |
Field value start from nth bit (values from 0x20 - 0x100)
#define FI_BITS_SIZE | ( | n | ) | (((n) & 63) << 8) |
Field value takes n bits (values from 0x100 - 0x4000)
#define FI_GENERATED 0x00000002 |
The protocol field should be displayed as "generated by Wireshark", used in field_info.flags.
#define FI_GET_FLAG | ( | fi, | |
flag | |||
) | ((fi) ? ((fi)->flags & (flag)) : 0) |
convenience macro to get field_info.flags
#define FI_HIDDEN 0x00000001 |
The protocol field should not be shown in the tree (it's used for filtering only), used in field_info.flags. HIDING PROTOCOL FIELDS IS DEPRECATED, IT'S CONSIDERED TO BE BAD GUI DESIGN! A user cannot tell by looking at the packet detail that the field exists and that they can filter on its value.
#define FI_LITTLE_ENDIAN 0x00000008 |
The protocol field value is in little endian
#define FI_RESET_FLAG | ( | fi, | |
flag | |||
) |
convenience macro to reset field_info.flags
#define FI_SET_FLAG | ( | fi, | |
flag | |||
) |
convenience macro to set field_info.flags
#define FI_URL 0x00000004 |
The protocol field is actually a URL
#define FI_VARINT 0x00004000 |
The protocol field value is a varint
#define FIELD_DISPLAY_E_MASK 0xFF |
FIELD_DISPLAY_E_MASK selects the field_display_e value.
#define FRAMENUM_TYPE | ( | x | ) | GINT_TO_POINTER(x) |
Cast a ft_framenum_type_t, used to set header_field_info.strings
#define HFILL -1, 0, HF_REF_TYPE_NONE, -1, NULL |
HFILL initializes all the "set by proto routines" fields in a _header_field_info. If new fields are added or removed, it should be changed as necessary.
#define HFILL_INIT | ( | hf | ) |
#define IS_BASE_DUAL | ( | b | ) | ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC) |
BASE_ values that cause the field value to be displayed twice
#define IS_BASE_PORT | ( | b | ) | (((b)==BASE_PT_UDP||(b)==BASE_PT_TCP||(b)==BASE_PT_DCCP||(b)==BASE_PT_SCTP)) |
BASE_PT_ values display decimal and transport port service name
#define ITEM_LABEL_LENGTH 240 |
the maximum length of a protocol field string representation
#define PI_ASSUMPTION 0x0d000000 |
The protocol field has incomplete data, decode based on assumed value
#define PI_CHAT 0x00200000 |
Usual workflow, e.g. TCP connection establishing
#define PI_CHECKSUM 0x01000000 |
The protocol field has a bad checksum, usually uses PI_WARN severity
#define PI_COMMENT 0x00100000 |
Packet comment
#define PI_COMMENTS_GROUP 0x0b000000 |
The protocol field indicates a packet comment
#define PI_DEBUG 0x08000000 |
A generic debugging message (shouldn't remain in production code!), usually PI_ERROR severity
#define PI_DECRYPTION 0x0c000000 |
The protocol field indicates a decryption problem
#define PI_DEPRECATED 0x0e000000 |
The protocol field has been deprecated, usually PI_NOTE severity
#define PI_DISSECTOR_BUG 0x11000000 |
A bug in a dissector was detected, usually PI_ERROR severity
#define PI_ERROR 0x00800000 |
Serious problems, e.g. a malformed packet
#define PI_GROUP_MASK 0xFF000000 |
mask usually for internal use only!
#define PI_INTERFACE 0x10000000 |
Something happened at the interface layer (out of buffers, hardware error, etc.)
#define PI_MALFORMED 0x07000000 |
The packet data is malformed, the dissector has "given up", usually PI_ERROR severity
#define PI_NOTE 0x00400000 |
Notable messages, e.g. an application returned an "unusual" error code like HTTP 404
#define PI_PROTOCOL 0x09000000 |
The protocol field violates a protocol specification, usually PI_WARN severity
#define PI_REASSEMBLE 0x06000000 |
The protocol field indicates a reassemble (e.g. DCE/RPC defragmentation), usually PI_CHAT severity (or PI_ERROR)
#define PI_RECEIVE 0x0f000000 |
Something happened as part of the receive process (CRC error, short/long frame, etc.)
#define PI_REQUEST_CODE 0x04000000 |
The protocol field indicates an application request (e.g. File Handle == xxxx), usually PI_CHAT severity
#define PI_RESPONSE_CODE 0x03000000 |
The protocol field indicates a bad application response code (e.g. HTTP 404), usually PI_NOTE severity
#define PI_SECURITY 0x0a000000 |
The protocol field indicates a security problem (e.g. insecure implementation)
#define PI_SEQUENCE 0x02000000 |
The protocol field indicates a sequence problem (e.g. TCP window is zero)
#define PI_SEVERITY_MASK 0x00F00000 |
mask usually for internal use only!
#define PI_UNDECODED 0x05000000 |
The data is undecoded, the protocol dissection is incomplete here, usually PI_WARN severity
#define PI_WARN 0x00600000 |
Warning, e.g. application returned an "unusual" error code
#define PITEM_FINFO | ( | proto_item | ) | PNODE_FINFO(proto_item) |
Retrieve the field_info from a proto_item
#define PITEM_HFINFO | ( | proto_item | ) | PNODE_HFINFO(proto_item) |
Retrieve the header_field_info from a proto_item
#define PNODE_FINFO | ( | proto_node | ) | ((proto_node)->finfo) |
Retrieve the field_info from a proto_node
#define PNODE_HFINFO | ( | proto_node | ) | ((proto_node)->hfinfo) |
Retrieve the header_field_info from a proto_node
#define PNODE_POOL | ( | proto_node | ) | ((proto_node)->tree_data->pinfo->pool) |
Retrieve the wmem_allocator_t from a proto_node
#define PROTO_CHECKSUM_GENERATED 0x02 |
Checksum is generated only
#define PROTO_CHECKSUM_IN_CKSUM 0x04 |
Internet checksum routine used for computation
#define PROTO_CHECKSUM_NO_FLAGS 0x00 |
Don't use any flags
#define PROTO_CHECKSUM_NOT_PRESENT 0x10 |
Checksum field is not present (Just populates status field)
#define PROTO_CHECKSUM_VERIFY 0x01 |
Compare against computed checksum
#define PROTO_CHECKSUM_ZERO 0x08 |
Computed checksum must be zero (but correct checksum can't be calculated)
#define PTREE_DATA | ( | proto_tree | ) | ((proto_tree)->tree_data) |
Retrieve the tree_data_t from a proto_tree
#define PTREE_FINFO | ( | proto_tree | ) | PNODE_FINFO(proto_tree) |
Retrieve the field_info from a proto_tree
#define PTREE_HFINFO | ( | proto_tree | ) | PNODE_HFINFO(proto_tree) |
Retrieve the header_field_info from a proto_tree
#define RVALS | ( | x | ) | (cast_same(const struct _range_string*, (x))) |
Make a const range_string[] look like a _range_string pointer, used to set header_field_info.strings
#define TFS | ( | x | ) | (cast_same(const struct true_false_string*, (x))) |
Make a const true_false_string[] look like a _true_false_string pointer, used to set header_field_info.strings
#define UNS | ( | x | ) | (cast_same(const struct unit_name_string*, (x))) |
Make a const unit_name_string[] look like a unit_name_string pointer, used to set header_field_info.strings
#define VALS | ( | x | ) | (cast_same(const struct _value_string*, (x))) |
Make a const value_string[] look like a _value_string pointer, used to set header_field_info.strings
#define VALS64 | ( | x | ) | (cast_same(const struct _val64_string*, (x))) |
Make a const val64_string[] look like a _val64_string pointer, used to set header_field_info.strings
#define VALS_EXT_PTR | ( | x | ) | (cast_same(value_string_ext*, (x))) |
Something to satisfy checkAPIs when you have a pointer to a value_string_ext (e.g., one built with value_string_ext_new())
typedef struct field_info field_info |
Contains the field information for the proto_item.
typedef struct _header_field_info header_field_info |
information describing a header field
typedef struct hf_register_info hf_register_info |
Used when registering many fields at once, using proto_register_field_array()
typedef struct _item_label_t item_label_t |
string representation, if one of the proto_tree_add_..._format() functions used
typedef WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item struct _mac_hf_list_t mac_hf_list_t |
Structure used in proto_tree_add_mac48_detail below
typedef void(* prefix_initializer_t) (const char *match) |
This type of function can be registered to get called whenever a given field was not found but a its prefix is matched; It can be used to procrastinate the hf array registration.
match | what's being matched |
typedef proto_node proto_item |
A protocol item element.
typedef struct _proto_node proto_node |
Each proto_tree, proto_item is one of these.
typedef proto_node proto_tree |
A protocol tree element.
typedef struct _protocol protocol_t |
Structure for information about a protocol
enum field_display_e |
enum hf_ref_type |
WS_DLL_PUBLIC protocol_t * find_protocol_by_id | ( | const int | proto_id | ) |
Get the "protocol_t" structure for the given protocol's item number.
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC void proto_add_deregistered_data | ( | void * | data | ) |
Add data to be freed when deregistered fields are freed.
data | a pointer to data to free |
void proto_add_deregistered_slice | ( | size_t | block_size, |
void * | mem_block | ||
) |
Add a memory slice to be freed when deregistered fields are freed.
block_size | the size of the block |
mem_block | a pointer to the block to free |
|
extern |
Associate a heuristic dissector with a protocol INTERNAL USE ONLY!!!
protocol | to associate the heuristic with |
short_name | heuristic dissector's short name |
WS_DLL_PUBLIC GPtrArray * proto_all_finfos | ( | proto_tree * | tree | ) |
Return GPtrArray* of field_info pointers containg all hfindexes that appear in tree.
tree | tree of interest |
The caller does need to free the returned GPtrArray with g_ptr_array_free(<array>, true).
WS_DLL_PUBLIC bool proto_can_match_selected | ( | const field_info * | finfo, |
struct epan_dissect * | edt | ||
) |
Can we do a "match selected" on this field.
finfo | field_info |
edt | epan dissecting |
WS_DLL_PUBLIC bool proto_can_toggle_protocol | ( | const int | proto_id | ) |
Can item # n decoding be disabled?
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC unsigned char proto_check_field_name | ( | const char * | field_name | ) |
Check if given string is a valid field name
field_name | the field name to check |
WS_DLL_PUBLIC unsigned char proto_check_field_name_lower | ( | const char * | field_name | ) |
Check if given string is a valid field name. Accepts only lower case characters.
field_name | the field name to check |
|
extern |
Checks for existence any protocol or field within a tree.
tree | "Protocols" are assumed to be a child of the [empty] root node. |
id | hfindex of protocol or field |
|
extern |
Frees memory used by proto routines. Called at program shutdown
WS_DLL_PUBLIC char * proto_construct_match_selected_string | ( | const field_info * | finfo, |
struct epan_dissect * | edt | ||
) |
Construct a "match selected" display filter string.
finfo | field_info |
edt | epan dissecting |
char * proto_custom_get_filter | ( | struct epan_dissect * | edt, |
GSList * | field_id, | ||
int | occurrence | ||
) |
Construct a display filter string for a custom column
edt | epan dissecting |
field_id | the field ids used for custom column |
occurrence | the occurrence of the field used for custom column |
const char * proto_custom_set | ( | proto_tree * | tree, |
GSList * | field_id, | ||
int | occurrence, | ||
bool | display_details, | ||
char * | result, | ||
char * | expr, | ||
const int | size | ||
) |
Set the column text for a custom column
tree | the tree to append this item to |
field_id | the field ids used for custom column |
occurrence | the occurrence of the field used for custom column |
display_details | if true, use formatted field value |
result | the buffer to fill with the field string |
expr | the filter expression |
size | the size of the string buffer |
WS_DLL_PUBLIC void proto_deregister_field | ( | const int | parent, |
int | hf_id | ||
) |
Deregister an already registered field.
parent | the protocol handle from proto_register_protocol() |
hf_id | the field to deregister |
bool proto_deregister_protocol | ( | const char * | short_name | ) |
Deregister a protocol. This is only used internally for reloading Lua plugins and must not be used by dissectors or plugins.
short_name | abbreviated name of the protocol |
WS_DLL_PUBLIC void proto_disable_all | ( | void | ) |
Disable all protocols.
WS_DLL_PUBLIC void proto_disable_by_default | ( | const int | proto_id | ) |
Mark protocol with the given item number as disabled by default.
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC const char * proto_field_display_to_string | ( | int | field_display | ) |
Get string representation of display field value
field_display | field display value (one of BASE_ values) |
WS_DLL_PUBLIC bool proto_field_is_referenced | ( | proto_tree * | tree, |
int | proto_id | ||
) |
This function takes a tree and a protocol id as parameter and will return true/false for whether the protocol or any of the filterable fields in the protocol is referenced by any filters. If this function returns false then it is safe to skip any proto_tree_add_...() calls and just treat the call as if the dissector was called with tree==NULL. If you reset the tree to NULL by this dissector returning false, you will still need to call any subdissector with the original value of tree or filtering will break.
The purpose of this is to optimize wireshark for speed and make it faster for when filters are being used.
WS_DLL_PUBLIC field_info * proto_find_field_from_offset | ( | proto_tree * | tree, |
unsigned | offset, | ||
tvbuff_t * | tvb | ||
) |
Find field from offset in tvb.
tree | tree of interest |
offset | offset in the tvb |
tvb | the tv buffer |
WS_DLL_PUBLIC GPtrArray * proto_find_finfo | ( | proto_tree * | tree, |
const int | hfindex | ||
) |
Return GPtrArray* of field_info pointers for all hfindex that appear in tree. Works with any tree, primed or unprimed, and is slower than proto_get_finfo_ptr_array because it has to search through the tree.
tree | tree of interest |
hfindex | index of field info of interest |
The caller does need to free the returned GPtrArray with g_ptr_array_free(<array>, true).
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo | ( | proto_tree * | tree, |
const int | hfindex | ||
) |
Return GPtrArray* of field_info pointer for first hfindex that appear in tree. Works with any tree, primed or unprimed, and is slower than proto_get_finfo_ptr_array because it has to search through the tree.
tree | tree of interest |
hfindex | index of field info of interest |
The caller does need to free the returned GPtrArray with g_ptr_array_free(<array>, true).
WS_DLL_PUBLIC char * proto_find_undecoded_data | ( | proto_tree * | tree, |
unsigned | length | ||
) |
Find undecoded bytes in a tree
tree | tree of interest |
length | the length of the frame |
WS_DLL_PUBLIC void proto_free_deregistered_fields | ( | void | ) |
Free fields deregistered in proto_deregister_field().
WS_DLL_PUBLIC void proto_free_field_strings | ( | ftenum_t | field_type, |
unsigned int | field_display, | ||
const void * | field_strings | ||
) |
Free strings in a field.
field_type | the field type (one of FT_ values) |
field_display | field display value (one of BASE_ values) |
field_strings | field strings |
WS_DLL_PUBLIC GPtrArray * proto_get_finfo_ptr_array | ( | const proto_tree * | tree, |
const int | hfindex | ||
) |
Return GPtrArray* of field_info pointers for all hfindex that appear in tree. Only works with primed trees, and is fast.
tree | tree of interest |
hfindex | primed hfindex |
The caller should not free the GPtrArray*; proto_tree_free_node() handles that.
WS_DLL_PUBLIC int proto_get_first_protocol | ( | void ** | cookie | ) |
Routines to use to iterate over the protocols and their fields; they return the item number of the protocol in question or the appropriate hfinfo pointer, and keep state in "*cookie".
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 | ||
) |
Find commonly-used protocols in a layer list.
layers | Protocol layer list |
is_ip | Set to true if the layer list contains IPv4 or IPv6, otherwise unchanged. May be NULL. |
is_tcp | Set to true if the layer list contains TCP, otherwise unchanged. May be NULL. |
is_udp | Set to true if the layer list contains UDP, otherwise unchanged. May be NULL. |
is_sctp | Set to true if the layer list contains SCTP, otherwise unchanged. May be NULL. |
is_tls | Set to true if the layer list contains SSL/TLS, otherwise unchanged. May be NULL. |
is_rtp | Set to true if the layer list contains RTP, otherwise unchanged. May be NULL. |
is_lte_rlc | Set to true if the layer list contains LTE RLC, otherwise unchanged. May be NULL. |
WS_DLL_PUBLIC int proto_get_id | ( | const protocol_t * | protocol | ) |
Get the protocol's item number, for the given protocol's "protocol_t".
WS_DLL_PUBLIC int proto_get_id_by_filter_name | ( | const char * | filter_name | ) |
Given a protocol's filter_name.
filter_name | the filter name to search for |
WS_DLL_PUBLIC int proto_get_id_by_short_name | ( | const char * | short_name | ) |
Given a protocol's short name.
short_name | the protocol short name to search for |
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name | ( | const int | proto_id | ) |
Get a protocol's filter name by its item number.
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC const char * proto_get_protocol_long_name | ( | const protocol_t * | protocol | ) |
Get the protocol's long name, for the given protocol's "protocol_t".
WS_DLL_PUBLIC const char * proto_get_protocol_name | ( | const int | proto_id | ) |
Get the protocol's name for the given protocol's item number.
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC const char * proto_get_protocol_short_name | ( | const protocol_t * | protocol | ) |
Get the protocol's short name, for the given protocol's "protocol_t".
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach | ( | const protocol_t * | protocol, |
GFunc | func, | ||
void * | user_data | ||
) |
Apply func to all heuristic dissectors of a protocol
protocol | to iterate over heuristics |
func | function to execute on heuristics |
user_data | user-specific data for function |
void proto_init | ( | GSList * | register_all_plugin_protocols_list, |
GSList * | register_all_plugin_handoffs_list, | ||
register_cb | cb, | ||
void * | client_data | ||
) |
Sets up memory used by proto routines. Called at program startup
WS_DLL_PUBLIC void proto_initialize_all_prefixes | ( | void | ) |
Initialize every remaining uninitialized prefix.
WS_DLL_PUBLIC bool proto_is_frame_protocol | ( | const wmem_list_t * | layers, |
const char * | proto_name | ||
) |
Check whether a protocol, specified by name, is in a layer list.
layers | Protocol layer list |
proto_name | Name of protocol to find |
WS_DLL_PUBLIC bool proto_is_pino | ( | const protocol_t * | protocol | ) |
Is this a protocol in name only (i.e. not a real one)?
WS_DLL_PUBLIC bool proto_is_protocol_enabled | ( | const protocol_t * | protocol | ) |
Is protocol's decoding enabled ?
WS_DLL_PUBLIC bool proto_is_protocol_enabled_by_default | ( | const protocol_t * | protocol | ) |
Is protocol's enabled by default (most are)?
WS_DLL_PUBLIC proto_tree * proto_item_add_subtree | ( | proto_item * | pi, |
const int | idx | ||
) |
Create a subtree under an existing item.
pi | the parent item of the new subtree |
idx | one of the ett_ array elements registered with proto_register_subtree_array() |
WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_append_text | ( | proto_item * | pi, |
const char * | format, | ||
... | |||
) |
Append to text of item after it has already been created.
pi | the item to append the text to |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC int proto_item_fill_display_label | ( | const field_info * | fi, |
char * | display_label_str, | ||
const int | label_str_size | ||
) |
Fill the given display_label_str with the string representation of a field formatted according to its type and field display specifier. Used to display custom columns and packet diagram values.
fi | The item to get the info from |
display_label_str | The string to fill |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC void proto_item_fill_label | ( | const field_info * | finfo, |
char * | label_str, | ||
size_t * | value_offset | ||
) |
Fill given label_str with a simple string representation of field.
finfo | the item to get the info from |
label_str | the string to fill |
value_offset | offset to the value in label_str |
WS_DLL_PUBLIC char * proto_item_get_display_repr | ( | wmem_allocator_t * | scope, |
proto_item * | pi | ||
) |
Get the display representation of a proto_item. Can be used, for example, to append that to the parent item of that item.
scope | the wmem scope to use to allocate the string |
pi | the item from which to get the display representation |
WS_DLL_PUBLIC int proto_item_get_len | ( | const proto_item * | pi | ) |
Get length of a proto_item. Useful after using proto_tree_add_item() to add a variable-length field (e.g., FT_UINT_STRING).
pi | the item to get the length from |
WS_DLL_PUBLIC proto_item * proto_item_get_parent | ( | const proto_item * | pi | ) |
Get the parent of a subtree item.
pi | the child item in the subtree |
WS_DLL_PUBLIC proto_item * proto_item_get_parent_nth | ( | proto_item * | pi, |
int | gen | ||
) |
Get Nth generation parent item.
pi | the child item in the subtree |
gen | the generation to get (using 1 here is the same as using proto_item_get_parent()) |
WS_DLL_PUBLIC proto_tree * proto_item_get_subtree | ( | proto_item * | pi | ) |
Get an existing subtree under an item.
pi | the parent item of the subtree |
WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_prepend_text | ( | proto_item * | pi, |
const char * | format, | ||
... | |||
) |
Prepend to text of item after it has already been created.
pi | the item to prepend the text to |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC void proto_item_set_bits_offset_len | ( | proto_item * | ti, |
int | bits_offset, | ||
int | bits_len | ||
) |
Set the bit offset and length for the specified proto_item.
ti | The item to set. |
bits_offset | The number of bits from the beginning of the field. |
bits_len | The new length in bits. |
WS_DLL_PUBLIC void proto_item_set_end | ( | proto_item * | pi, |
tvbuff_t * | tvb, | ||
int | end | ||
) |
Sets the length of the item based on its start and on the specified offset, which is the offset past the end of the item; as the start in the item is relative to the beginning of the data source tvbuff, we need to pass in a tvbuff.
Given an item created as: ti = proto_tree_add_item(*, *, tvb, offset, -1, *); then proto_item_set_end(ti, tvb, end); is equivalent to proto_item_set_len(ti, end - offset);
pi | the item to set the length |
tvb | end is relative to this tvbuff |
end | this end offset is relative to the beginning of tvb |
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 | ||
) |
Set proto_item's length inside tvb, after it has already been created.
pi | the item to set the length |
length | the new length of the item |
WS_DLL_PUBLIC void proto_item_set_text | ( | proto_item * | pi, |
const char * | format, | ||
... | |||
) |
Replace text of item after it already has been created.
pi | the item to set the text |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC char * proto_list_layers | ( | const packet_info * | pinfo | ) |
Create a string of all layers in the packet.
pinfo | Pointer to packet info |
WS_DLL_PUBLIC bool proto_name_already_registered | ( | const char * | name | ) |
Check if a protocol name is already registered.
name | the name to search for |
WS_DLL_PUBLIC void proto_reenable_all | ( | void | ) |
Re-enable all protocols that are not marked as disabled by default.
WS_DLL_PUBLIC void proto_register_alias | ( | const int | proto_id, |
const char * | alias_name | ||
) |
Register a protocol alias. This is for dissectors whose original name has changed, e.g. BOOTP to DHCP.
proto_id | protocol id returned by proto_register_protocol (0-indexed) |
alias_name | alias for the protocol's filter name |
WS_DLL_PUBLIC void proto_register_field_array | ( | const int | parent, |
hf_register_info * | hf, | ||
const int | num_records | ||
) |
Register a header_field array.
parent | the protocol handle from proto_register_protocol() |
hf | the hf_register_info array |
num_records | the number of records in hf |
WS_DLL_PUBLIC void proto_register_plugin | ( | const proto_plugin * | plugin | ) |
Register dissector plugin with the plugin system.
WS_DLL_PUBLIC void proto_register_prefix | ( | const char * | prefix, |
prefix_initializer_t | initializer | ||
) |
Register a new prefix for delayed initialization of field arrays Note that the initializer function MAY NOT be called before the dissector is first called. That is, dissectors using this function must be prepared to call the initializer before beginning dissection; they should do this by calling proto_registrar_get_byname() on one of the dissector's field names.
prefix | the prefix for the new protocol |
initializer | function that will initialize the field array for the given prefix |
WS_DLL_PUBLIC int proto_register_protocol | ( | const char * | name, |
const char * | short_name, | ||
const char * | filter_name | ||
) |
Register a new protocol.
name | the full name of the new protocol |
short_name | abbreviated name of the new protocol |
filter_name | protocol name used for a display filter string |
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 | ||
) |
Register a "helper" protocol (pino - protocol in name only). This is for dissectors that need distinguishing names and don't need the other features (like enable/disable). One use case is a protocol with multiple dissection functions in a single dissector table needing unique "dissector names" to remove confusion with Decode As dialog. Another use case is for a dissector table set up to handle TLVs within a single protocol (and allow "external" TLVs being registered through the dissector table).
name | the full name of the new protocol |
short_name | abbreviated name of the new protocol |
filter_name | protocol name used for a display filter string |
parent_proto | the "real" protocol for the helper. The parent decides enable/disable |
field_type | FT_PROTOCOL or FT_BYTES. Allows removal of "protocol highlighting" (FT_BYTES) if pino is part of TLV. |
WS_DLL_PUBLIC void proto_register_subtree_array | ( | int *const * | indices, |
const int | num_indices | ||
) |
Register a protocol subtree (ett) array.
indices | array of ett indices |
num_indices | the number of records in indices |
WS_DLL_PUBLIC void proto_registrar_dump_elastic | ( | const char * | filter | ) |
Dumps a mapping file for loading tshark output into ElasticSearch
WS_DLL_PUBLIC bool proto_registrar_dump_field_completions | ( | const char * | prefix | ) |
Dumps protocol and field abbreviations to STDOUT which start with prefix.
WS_DLL_PUBLIC bool proto_registrar_dump_fieldcount | ( | void | ) |
Dumps the number of protocol and field registrations to STDOUT.
WS_DLL_PUBLIC void proto_registrar_dump_fields | ( | void | ) |
Dumps a glossary of the protocol and field registrations to STDOUT.
WS_DLL_PUBLIC void proto_registrar_dump_ftypes | ( | void | ) |
Dumps a glossary field types and descriptive names to STDOUT
WS_DLL_PUBLIC void proto_registrar_dump_protocols | ( | void | ) |
Dumps a glossary of the protocol registrations to STDOUT
WS_DLL_PUBLIC void proto_registrar_dump_values | ( | void | ) |
Dumps a glossary of the field value strings or true/false strings to STDOUT
WS_DLL_PUBLIC const char * proto_registrar_get_abbrev | ( | const int | n | ) |
Get abbreviation of registered header_field number n.
n | item # n (0-indexed) |
WS_DLL_PUBLIC header_field_info * proto_registrar_get_byalias | ( | const char * | alias_name | ) |
Get the header_field information based upon a field alias.
alias_name | the aliased field name to search for |
WS_DLL_PUBLIC header_field_info * proto_registrar_get_byname | ( | const char * | field_name | ) |
Get the header_field information based upon a field name.
field_name | the field name to search for |
WS_DLL_PUBLIC enum ftenum proto_registrar_get_ftype | ( | const int | n | ) |
Get enum ftenum FT_ of registered header_field number n.
n | item # n (0-indexed) |
WS_DLL_PUBLIC int proto_registrar_get_id_byname | ( | const char * | field_name | ) |
Get the header_field id based upon a field name.
field_name | the field name to search for |
|
extern |
Get length of registered field according to field type.
n | item # n (0-indexed) |
WS_DLL_PUBLIC const char * proto_registrar_get_name | ( | const int | n | ) |
Get name of registered header_field number n.
n | item # n (0-indexed) |
WS_DLL_PUBLIC header_field_info * proto_registrar_get_nth | ( | unsigned | hfindex | ) |
Get the header_field information based upon a field or protocol id.
hfindex | item # n (0-indexed) |
WS_DLL_PUBLIC int proto_registrar_get_parent | ( | const int | n | ) |
Get parent protocol of registered header_field number n.
n | item # n (0-indexed) |
WS_DLL_PUBLIC bool proto_registrar_is_protocol | ( | const int | n | ) |
Is item # n a protocol?
n | item # n (0-indexed) |
WS_DLL_PUBLIC WS_NORETURN void proto_report_dissector_bug | ( | const char * | format, |
... | |||
) |
Function used for reporting errors in dissectors; it throws a DissectorError exception, with a string generated from the format and arguments to the format, as the message for the exception, so that it can show up in the Info column and the protocol tree.
If the WIRESHARK_ABORT_ON_DISSECTOR_BUG environment variable is set, it will call abort(), instead, to make it easier to get a stack trace.
format | format string to use for the message |
WS_DLL_PUBLIC void proto_set_cant_toggle | ( | const int | proto_id | ) |
Disable disabling/enabling of protocol of the given item number.
proto_id | protocol id (0-indexed) |
WS_DLL_PUBLIC void proto_set_decoding | ( | const int | proto_id, |
const bool | enabled | ||
) |
Enable / Disable protocol of the given item number.
proto_id | protocol id (0-indexed) |
enabled | enable / disable the protocol |
WS_DLL_PUBLIC bool proto_tracking_interesting_fields | ( | const proto_tree * | tree | ) |
Return whether we're tracking any interesting fields. Only works with primed trees, and is fast.
tree | tree of interest |
WS_DLL_PUBLIC proto_item * proto_tree_add_ascii_7bits_item | ( | proto_tree * | tree, |
const int | hfindex, | ||
tvbuff_t * | tvb, | ||
const unsigned | bit_offset, | ||
const int | no_of_chars | ||
) |
Add a FT_STRING with ENC_ASCII_7BITS encoding to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_chars | number of 7bits characters to display |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_hdr | an 8/16/24/32/40/48/56/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask are dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|40|48|56|64}. |
ett | subtree index |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
len | number of bytes of data |
hf_hdr | an 8/16/24/32 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask are dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32}. |
ett | subtree index |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
exp | expert info field used when decodable_len < len. This also means this function should be called even when tree == NULL |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask. Similar to proto_tree_add_bitmask(), but with no "header" item to group all of the fields
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
len | number of bytes of data |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
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 | ||
) |
This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask_list(), but with a return value
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
len | number of bytes of data |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
retval | if a pointer is passed here the value is returned. |
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 | ||
) |
This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask_list(), but with a passed in value (presumably because it can't be retrieved directly from tvb)
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
len | number of bytes of data |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
value | bitmask value |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask. The value of the integer containing the bitmask is returned through a pointer.
tree | the tree to append this item to | |
tvb | the tv buffer of the current data | |
offset | start of data in tvb | |
hf_hdr | an 8/16/24/32/40/48/56/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask are dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|40|48|56|64}. | |
ett | subtree index | |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. | |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) | |
[out] | retval | points to a uint64_t which will be set |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a text with a subtree of bitfields.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
len | length of the field name |
name | field name (NULL if bitfield contents should be used) |
fallback | field name if none of bitfields were usable |
ett | subtree index |
fields | NULL-terminated array of bitfield indexes |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
flags | bitmask field |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask(), but with a passed in value (presumably because it can't be retrieved directly from tvb)
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_hdr | an 8/16/24/32/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask is dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|64}. |
ett | subtree index |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
value | bitmask value |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask(), but with a passed in value (presumably because it can't be retrieved directly from tvb) This has "filterable" bitmask header functionality of proto_tree_add_bitmask_value with the ability to control what data is appended to the header like proto_tree_add_bitmask_text
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_hdr | an 8/16/24/32/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask is dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|64}. |
ett | subtree index |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
value | bitmask value |
flags | bitmask field using BMT_NO_* flags to determine behavior |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask. This has "filterable" bitmask header functionality of proto_tree_add_bitmask with the ability to control what data is appended to the header like proto_tree_add_bitmask_text
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_hdr | an 8/16/24/32/40/48/56/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask are dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|40|48|56|64}. |
ett | subtree index |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) |
flags | bitmask field using BMT_NO_* flags to determine behavior |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
This function will dissect a sequence of bytes that describe a bitmask. This has "filterable" bitmask header functionality of proto_tree_add_bitmask with the ability to control what data is appended to the header like proto_tree_add_bitmask_text The value of the integer containing the bitmask is returned through a pointer.
tree | the tree to append this item to | |
tvb | the tv buffer of the current data | |
offset | start of data in tvb | |
hf_hdr | an 8/16/24/32/40/48/56/64 bit integer that describes the bitmask to be dissected. This field will form an expansion under which the individual fields of the bitmask are dissected and displayed. This field must be of the type FT_[U]INT{8|16|24|32|40|48|56|64}. | |
ett | subtree index | |
fields | an array of pointers to int that lists all the fields of the bitmask. These fields can be either of the type FT_BOOLEAN for flags or another integer of the same type/size as hf_hdr with a mask specified. This array is terminated by a NULL entry. FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. FT_integer fields that have a value_string attached will have the matched string displayed on the expansion line. | |
encoding | big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) | |
flags | bitmask field using BMT_NO_* flags to determine behavior | |
[out] | retval | points to a uint64_t which will be set |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add bits to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it.
tree | the tree to append this item to |
hf_index | field index. Fields for use with this function should have bitmask==0. |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bits |
encoding | data encoding |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add bits to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it.
tree | the tree to append this item to |
hf_index | field index. Fields for use with this function should have bitmask==0. |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bits |
return_value | if a pointer is passed here the value is returned. |
encoding | data encoding |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_boolean | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value | ||
) |
Add a FT_BOOLEAN to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_BOOLEAN header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_boolean_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_BOOLEAN to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_boolean_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_BOOLEAN to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_bytes | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | start_ptr | ||
) |
Add a FT_BYTES to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
start_ptr | pointer to the data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_bytes_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | start_ptr, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_BYTES to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
start_ptr | pointer to the data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_BYTES to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
start_ptr | pointer to the data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Get and add a byte-array-based FT_* to a proto_tree.
Supported: FT_BYTES, FT_UINT_BYTES, FT_OID, FT_REL_OID, and FT_SYSTEM_ID.
The item is extracted from the tvbuff handed to it, based on the ENC_* passed in for the encoding, and the retrieved byte array is also set to *retval so the caller gets it back for other uses.
This function retrieves the value even if the passed-in tree param is NULL, so that it can be used by dissectors at all times to both get the value and set the tree item to it.
Like other proto_tree_add functions, if there is a tree and the value cannot be decoded from the tvbuff, then an expert info error is reported. For string encoding, this means that a failure to decode the hex value from the string results in an expert info error being added to the tree.
If encoding is string-based, it will convert using tvb_get_string_bytes(); see that function's comments for details.
tree | the tree to append this item to | |
hfindex | field index | |
tvb | the tv buffer of the current data | |
start | start of data in tvb | |
length | length of data in tvb | |
encoding | data encoding (e.g, ENC_LITTLE_ENDIAN, or ENC_UTF_8|ENC_STR_HEX) | |
[in,out] | retval | points to a GByteArray which will be set to the bytes from the Tvb. |
[in,out] | endoff | if not NULL, gets set to the character after those consumed. |
[in,out] | err | if not NULL, gets set to 0 if no failure, else the errno code (e.g., EINVAL). |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a FT_BYTES to a proto_tree like proto_tree_add_bytes, but used when the tvb data length does not match the bytes length.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
start_ptr | pointer to the data to display |
ptr_length | length of data in start_ptr |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a checksum field to a proto_tree. This standardizes the display of a checksum field as well as any status and expert info supporting it.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_checksum | checksum field index |
hf_checksum_status | optional checksum status field index. If none exists, just pass -1 |
bad_checksum_expert | optional expert info for a bad checksum. If none exists, just pass NULL |
pinfo | Packet info used for optional expert info. If unused, NULL can be passed |
computed_checksum | Checksum to verify against |
encoding | data encoding of checksum from tvb |
flags | bitmask field of PROTO_CHECKSUM_ options |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a checksum bytes array field to a proto_tree. This standardizes the display of a checksum field as well as any status and expert info supporting it.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
offset | start of data in tvb |
hf_checksum | checksum field index |
hf_checksum_status | optional checksum status field index. If none exists, just pass -1 |
bad_checksum_expert | optional expert info for a bad checksum. If none exists, just pass NULL |
pinfo | Packet info used for optional expert info. If unused, NULL can be passed |
computed_checksum | Checksum as bytes array to verify against |
checksum_len | Checksum size in bytes |
flags | bitmask field of PROTO_CHECKSUM_ options. PROTO_CHECKSUM_IN_CKSUM is ignored |
WS_DLL_PUBLIC proto_item * proto_tree_add_debug_text | ( | proto_tree * | tree, |
const char * | format, | ||
... | |||
) |
Useful for quick debugging. Also sends string to STDOUT, so don't leave call to this function in production code.
tree | the tree to append the text to |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_double | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
double | value | ||
) |
Add a FT_DOUBLE to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_double_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
double | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_DOUBLE to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_double_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
double | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_DOUBLE to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ether | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | value | ||
) |
Add a FT_ETHER to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ether_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_ETHER to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_ether_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_ETHER to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_eui64 | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint64_t | value | ||
) |
Add a FT_EUI64 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_eui64_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_EUI64 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_eui64_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_EUI64 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_float | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
float | value | ||
) |
Add a FT_FLOAT to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_item proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_FLOAT header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_float_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
float | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_FLOAT to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_float_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
float | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_FLOAT to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_tree proto_item * proto_tree_add_format_text | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length | ||
) |
Add a text-only node to a proto_tree with tvb_format_text() string.
proto_item * proto_tree_add_format_wsp_text | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length | ||
) |
Add a text-only node to a proto_tree with tvb_format_text_wsp() string.
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_guid | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const e_guid_t * | value_ptr | ||
) |
Add a FT_GUID to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_GUID to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_GUID to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int32_t | value | ||
) |
Add one of FT_INT8, FT_INT16, FT_INT24 or FT_INT32 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int64 | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int64_t | value | ||
) |
Add an FT_INT64 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_INT8, FT_INT16, FT_INT24 or FT_INT32 header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int64_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_INT64 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_int64_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_INT64 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_INT8, FT_INT16, FT_INT24 or FT_INT32 header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_INT8, FT_INT16, FT_INT24 or FT_INT32 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_int_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_INT8, FT_INT16, FT_INT24 or FT_INT32 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4 | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
ws_in4_addr | value | ||
) |
Add a FT_IPv4 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
ws_in4_addr | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_IPv4 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
ws_in4_addr | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_IPv4 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv6 | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const ws_in6_addr * | value_ptr | ||
) |
Add a FT_IPv6 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_IPv6 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_IPv6 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipxnet | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value | ||
) |
Add a FT_IPXNET to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipxnet_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_IPXNET to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_ipxnet_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_IPXNET to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_item_new | ( | proto_tree * | tree, |
header_field_info * | hfinfo, | ||
tvbuff_t * | tvb, | ||
const int | start, | ||
int | length, | ||
const unsigned | encoding | ||
) |
Add an item to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it.
tree | the tree to append this item to |
hfinfo | field |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
encoding | data encoding |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add an item to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it.
Return the length of the item through the pointer.
tree | the tree to append this item to | |
hfinfo | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb | |
length | length of data in tvb | |
encoding | data encoding | |
[out] | lenretval | points to a int that will be set to the item length |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add an string or byte array item to a proto_tree, using the text label registered to that item.
This provides a string that is a display representation of the value, similar to what proto_tree_add_item_ret_string() does.
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_ASCII, ENC_UTF_8, etc.) | |
scope | the wmem scope to use to allocate the string | |
[out] | retval | points to a uint8_t * that will be set to point to the string value |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add an string or byte array item to a proto_tree, using the text label registered to that item.
This provides a string that is a display representation of the value, and the length of the item, similar to what proto_tree_add_item_ret_string_and_length() does.
scope | the wmem scope to use to allocate the string | |
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_ASCII, ENC_UTF_8, etc.) | |
[out] | retval | points to a uint8_t * that will be set to point to the string value |
[out] | lenretval | points to a int that will be set to the item length |
WS_DLL_PUBLIC proto_item * proto_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.
tree | the tree | |
hfindex | the field | |
tvb | the tv buffer | |
start | start index of data in tvb | |
length | length of data. calls REPORT_DISSECTOR_BUG if not equal to 8 | |
encoding | ENC_LITTLE_ENDIAN or ENC_BIG_ENDIAN | |
[out] | retval | for the decoded value |
WS_DLL_PUBLIC proto_item * proto_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.
tree | the tree |
hfindex | the field |
tvb | the tv buffer |
start | the start index of data in tvb |
length | the length of data. calls REPORT_DISSECTOR_BUG if not equal to FT_ETHER_LEN |
encoding | encodings not yet supported. calls REPORT_DISSECTOR_BUG if not equal to 0 |
retval | a buffer of at least FT_ETHER_LEN bytes for the address, must not be null |
WS_DLL_PUBLIC proto_item * proto_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.
tree | the tree | |
hfindex | the field | |
tvb | the tv buffer | |
start | start index of data in tvb | |
length | the length of data. calls REPORT_DISSECTOR_BUG if not equal to 4 | |
encoding | ENC_LITTLE_ENDIAN or ENC_BIG_ENDIAN | |
[out] | retval | for the decoded value |
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_int | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
const int | start, | ||
int | length, | ||
const unsigned | encoding, | ||
int32_t * | retval | ||
) |
Add an integer data item to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it, and the retrieved value is also set to *retval so the caller gets it back for other uses.
This function retrieves the value even if the passed-in tree param is NULL, so that it can be used by dissectors at all times to both get the value and set the tree item to it.
Like other proto_tree_add functions, if there is a tree and the value cannot be decoded from the tvbuff, then an expert info error is reported.
This function accepts ENC_LITTLE_ENDIAN and ENC_BIG_ENDIAN for native number encoding in the tvbuff
The length argument must be set to the appropriate size of the native type as in other proto_add routines.
Integers of 8, 16, 24 and 32 bits can be retrieved with the _ret_int and ret_uint functions; integers of 40, 48, 56, and 64 bits can be retrieved with the _ret_uint64 function; Boolean values of 8, 16, 24, 32, 40, 48, 56, and 64 bits can be retrieved with the _ret_boolean function.
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_LITTLE_ENDIAN, ENC_BIG_ENDIAN, ENC_ASCII|ENC_STRING, etc.) | |
[out] | retval | points to a int32_t or uint32_t which will be set to the value |
WS_DLL_PUBLIC proto_item * proto_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.
tree | the tree |
hfindex | the field |
tvb | the tv buffer |
start | the start index of data in tvb |
length | the length of data. calls REPORT_DISSECTOR_BUG if not equal to FT_IPv6_LEN |
encoding | encodings not yet supported. calls REPORT_DISSECTOR_BUG if not equal to 0 |
retval | where the address should be written, must not be null |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add an string item to a proto_tree, using the text label registered to that item.
The item is extracted from the tvbuff handed to it, and the retrieved value is returned through a pointer so the caller can use it. The value is allocated using the wmem scope passed in.
This function retrieves the value even if the passed-in tree param is NULL, so that it can be used by dissectors at all times to both get the value and set the tree item to it.
Like other proto_tree_add functions, if there is a tree and the value cannot be decoded from the tvbuff, then an expert info error is reported.
This function accepts string encodings.
scope | the wmem scope to use to allocate the string | |
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_ASCII, ENC_UTF_8, etc.) | |
[out] | retval | points to a uint8_t * that will be set to point to the string value |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add an string item to a proto_tree, using the text label registered to that item.
The item is extracted from the tvbuff handed to it, and the retrieved value and its length are returned through pointers so the caller can use them. The value is allocated using the wmem scope passed in.
This function retrieves the value and length even if the passed-in tree param is NULL, so that then can be used by dissectors at all times to both get the value and set the tree item to it.
Like other proto_tree_add functions, if there is a tree and the value cannot be decoded from the tvbuff, then an expert info error is reported.
This function accepts string encodings.
scope | the wmem scope to use to allocate the string | |
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_ASCII, ENC_UTF_8, etc.) | |
[out] | retval | points to a uint8_t * that will be set to point to the string value |
[out] | lenretval | points to a int that will be set to the item length |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a time item to a proto_tree, using thetext label registered to that item.
This provides a string that is a display representation of the time value
tree | the tree to append this item to | |
hfindex | field | |
tvb | the tv buffer of the current data | |
start | start of data in tvb (cannot be negative) | |
length | length of data in tvb (for strings can be -1 for remaining) | |
encoding | data encoding (e.g, ENC_ASCII, ENC_UTF_8, etc.) | |
scope | the wmem scope to use to allocate the string | |
[out] | retval | points to a uint8_t * that will be set to point to the string value |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a MAC-48 (Ethernet) address to a proto_tree from the tvb. Handles full and OUI resolution, IG and LG bits, and hidden generic fields, all as a subtree of the address item.
list_specific | the mac_hf_list_t with field indexes for the specific addr type |
list_generic | the mac_hf_list_t with field indexes for the generic addr type |
idx | one of the ett_ array elements registered with proto_register_subtree_array() |
tvb | the tv buffer of the current data |
tree | the tree to append this item to |
offset | start of data in tvb representing the MAC-48 address |
WS_DLL_PUBLIC proto_item * proto_tree_add_none_format | ( | proto_tree * | tree, |
const int | hfindex, | ||
tvbuff_t * | tvb, | ||
const int | start, | ||
int | length, | ||
const char * | format, | ||
... | |||
) |
Add a FT_NONE field to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_oid | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | value_ptr | ||
) |
Add a FT_OID to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_oid_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const uint8_t * | value_ptr, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_OID to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add a formatted FT_OID to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_protocol_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | format, | ||
... | |||
) |
Add a FT_PROTOCOL to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
format | printf like format string |
... | printf like parameters |
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 | ||
) |
Add bitmap text for a split-bits crumb to a proto_tree, using the text label registered to an item. The bitmap is extracted from the tvbuff handed to it as a crumb (segment) of contiguous bits, specified by one of an array of crumb_spec elements. This function is normally called once per crumb, after the call to proto_tree_add_split_bits_item_ret_val
tree | the tree to append this item to |
hf_index | field index. Fields for use with this function should have bitmask==0. |
tvb | the tv buffer of the current data |
bit_offset | of the first crumb in tvb expressed in bits |
crumb_spec | pointer to crumb_spec array |
crumb_index | into the crumb_spec array for this crumb |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add bits to a proto_tree, using the text label registered to that item. The item is extracted from the tvbuff handed to it as a set of crumbs (segments) of contiguous bits, specified by an array of crumb_spec elements. The crumbs are assembled to create the value. There may be any number of crumbs specifying up to a total of 64 bits which may occur anywhere within the tvb. If the span of the crumbs within the tvb is 4 octets or less, a bitmap of the crumbs is produced.
tree | the tree to append this item to |
hf_index | field index. Fields for use with this function should have bitmask==0. |
tvb | the tv buffer of the current data |
bit_offset | of the first crumb in tvb expressed in bits |
crumb_spec | pointer to crumb_spec array |
return_value | if a pointer is passed here the value is returned. |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_string | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | value | ||
) |
Add an FT_STRING, FT_STRINGZ, FT_STRINGZPAD, or FT_STRINGZTRUNC to a proto_tree. The value passed in should be a UTF-8 encoded null terminated string, such as produced by tvb_get_string_enc(), regardless of the original packet data.
This function is used to add a custom string value to the protocol tree. Do not format the string value for display, for example by using format_text(). The input string represents packet data, not a display label. Formatting labels is a concern of the UI. Doing that here would change the meaning of the packet data, restrict the options for formatting later and make display filtering unintuitive for whitespace and other special characters.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_string_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_STRING, FT_STRINGZ, FT_STRINGZPAD, or FT_STRINGZTRUNC to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_string_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_STRING, FT_STRINGZ, FT_STRINGZPAD, or FT_STRINGZTRUNC to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
proto_item proto_item WS_DLL_PUBLIC proto_tree * proto_tree_add_subtree | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int | idx, | ||
proto_item ** | tree_item, | ||
const char * | text | ||
) |
Add a text-only node that creates a subtree underneath.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
idx | one of the ett_ array elements registered with proto_register_subtree_array() |
tree_item | item returned with tree creation. Can be NULL if going to be unused |
text | label for the tree |
WS_DLL_PUBLIC proto_tree * proto_tree_add_subtree_format | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
int | idx, | ||
proto_item ** | tree_item, | ||
const char * | format, | ||
... | |||
) |
Add a text-only node that creates a subtree underneath.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
idx | one of the ett_ array elements registered with proto_register_subtree_array() |
tree_item | item returned with tree creation. Can be NULL if going to be unused |
format | printf like format string |
... | printf like parameters |
proto_item * proto_tree_add_text_internal | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | format, | ||
... | |||
) |
(INTERNAL USE ONLY) Add a text-only node to a proto_tree.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
format | printf like format string |
... | printf like parameters |
proto_item proto_item * proto_tree_add_text_valist_internal | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const char * | format, | ||
va_list | ap | ||
) |
(INTERNAL USE ONLY) Add a text-only node to a proto_tree using a variable argument list.
tree | the tree to append this item to |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
format | printf like format string |
ap | variable argument list |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_time | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
const nstime_t * | value_ptr | ||
) |
Add a FT_ABSOLUTE_TIME or FT_RELATIVE_TIME to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | pointer to the data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_time_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
nstime_t * | value_ptr, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_ABSOLUTE_TIME or FT_RELATIVE_TIME to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | pointer to the data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_time_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
nstime_t * | value_ptr, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_ABSOLUTE_TIME or FT_RELATIVE_TIME to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value_ptr | pointer to the data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Get and add a FT_ABSOLUTE_TIME or FT_RELATIVE_TIME to a proto_tree. The item is extracted from the tvbuff handed to it, based on the ENC_* passed in for the encoding, and the retrieved value is also set to *retval so the caller gets it back for other uses.
This function retrieves the value even if the passed-in tree param is NULL, so that it can be used by dissectors at all times to both get the value and set the tree item to it.
Like other proto_tree_add functions, if there is a tree and the value cannot be decoded from the tvbuff, then an expert info error is reported. For string encoding, this means that a failure to decode the time value from the string results in an expert info error being added to the tree.
If encoding is string-based, it will convert using tvb_get_string_time(); see that function's comments for details.
tree | the tree to append this item to | |
hfindex | field index | |
tvb | the tv buffer of the current data | |
start | start of data in tvb | |
length | length of data in tvb | |
encoding | data encoding (e.g, ENC_LITTLE_ENDIAN, ENC_UTF_8|ENC_ISO_8601_DATE_TIME, etc.) | |
[in,out] | retval | points to a nstime_t which will be set to the value |
[in,out] | endoff | if not NULL, gets set to the character after those consumed. |
[in,out] | err | if not NULL, gets set to 0 if no failure, else EINVAL. |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item proto_item proto_item WS_DLL_PUBLIC proto_item * proto_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 | ||
) |
Add a FT_STRING with ENC_3GPP_TS_23_038_7BITS_PACKED encoding to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_chars | number of 7bits characters to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value | ||
) |
Add one of FT_UINT8, FT_UINT16, FT_UINT24 or FT_UINT32 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint64 | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value | ||
) |
Add an FT_UINT64 to a proto_tree.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_UINT8, FT_UINT16, FT_UINT24 or FT_UINT32 header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint64_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_UINT64 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_uint64_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint64_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_UINT64 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_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, | ||
... | |||
) |
Add bits for a FT_UINT8, FT_UINT16, FT_UINT24 or FT_UINT32 header field to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hf_index | field index |
tvb | the tv buffer of the current data |
bit_offset | start of data in tvb expressed in bits |
no_of_bits | length of data in tvb expressed in bit |
value | data to display |
encoding | data encoding |
format | printf like format string |
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint_format | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_UINT8, FT_UINT16, FT_UINT24 or FT_UINT32 to a proto_tree, with the format generating the entire string for the entry, including any field name.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
WS_DLL_PUBLIC proto_item * proto_tree_add_uint_format_value | ( | proto_tree * | tree, |
int | hfindex, | ||
tvbuff_t * | tvb, | ||
int | start, | ||
int | length, | ||
uint32_t | value, | ||
const char * | format, | ||
... | |||
) |
Add a formatted FT_UINT8, FT_UINT16, FT_UINT24 or FT_UINT32 to a proto_tree, with the format generating the string for the value and with the field name being included automatically.
tree | the tree to append this item to |
hfindex | field index |
tvb | the tv buffer of the current data |
start | start of data in tvb |
length | length of data in tvb |
value | data to display |
format | printf like format string |
... | printf like parameters |
|
extern |
Creates a new proto_tree root.
WS_DLL_PUBLIC void proto_tree_free | ( | proto_tree * | tree | ) |
Clear memory for entry proto_tree. Clears proto_tree struct also.
tree | the tree to free |
WS_DLL_PUBLIC proto_item * proto_tree_get_parent | ( | proto_tree * | tree | ) |
Get a parent item of a subtree.
tree | the tree to get the parent from |
WS_DLL_PUBLIC proto_tree * proto_tree_get_parent_tree | ( | proto_tree * | tree | ) |
Get the parent tree of a subtree.
tree | the tree to get the parent from |
WS_DLL_PUBLIC proto_tree * proto_tree_get_root | ( | proto_tree * | tree | ) |
Get the root tree from any subtree.
tree | the tree to get the root from |
WS_DLL_PUBLIC void proto_tree_move_item | ( | proto_tree * | tree, |
proto_item * | fixed_item, | ||
proto_item * | item_to_move | ||
) |
Move an existing item behind another existing item.
tree | the tree to which both items belong |
fixed_item | the item which keeps its position |
item_to_move | the item which will be moved |
|
extern |
Mark a field/protocol ID as "interesting". That means that we don't fake the item (because we are filtering on it), and we mark its parent protocol (if any) as being indirectly referenced (so proto_field_is_referenced() will return true for the protocol as well.)
tree | the tree to be set (currently ignored) |
hfid | the interesting field id |
|
extern |
Mark a field/protocol ID as something we want to print. That means that we don't fake it, and we also don't hide it by default even if the tree isn't visible.
tree | the tree to be set (currently ignored) |
hfid | the field id |
WS_DLL_PUBLIC void proto_tree_set_appendix | ( | proto_tree * | tree, |
tvbuff_t * | tvb, | ||
int | start, | ||
const int | length | ||
) |
Set start and length of an appendix for a proto_tree.
tree | the tree to set the appendix start and length |
tvb | the tv buffer of the current data |
start | the start offset of the appendix |
length | the length of the appendix |
|
extern |
Indicate whether we should fake protocols during dissection (default = true)
tree | the tree to be set |
fake_protocols | true if we should fake protocols |
WS_DLL_PUBLIC bool proto_tree_set_visible | ( | proto_tree * | tree, |
bool | visible | ||
) |
Set the tree visible or invisible. Is the parsing being done for a visible proto_tree or an invisible one? By setting this correctly, the proto_tree creation is sped up by not having to call vsnprintf and copy strings around.
tree | the tree to be set |
visible | ... or not |
WS_DLL_PUBLIC bool tree_expanded | ( | int | tree_type | ) |
Returns true if subtrees of that type are to be expanded.
WS_DLL_PUBLIC void tree_expanded_set | ( | int | tree_type, |
bool | value | ||
) |
Sets if subtrees of that type are to be expanded.
WS_DLL_PUBLIC int hf_text_only |
The header-field index for the special text pseudo-field. Exported by libwireshark.dll
WS_DLL_PUBLIC int num_tree_types |
Number of elements in the tree_is_expanded array. With MSVC and a libwireshark.dll, we need a special declaration.