40 #include "ws_symbol_export.h"
41 #include "ws_attributes.h"
59 #define ITEM_LABEL_LENGTH 240
61 #define ITEM_LABEL_UNKNOWN_STR "Unknown"
66 #define cast_same(type, x) (0 ? (type)0 : (x))
69 #define VALS(x) (cast_same(const struct _value_string*, (x)))
72 #define VALS64(x) (cast_same(const struct _val64_string*, (x)))
75 #define VALS_EXT_PTR(x) (cast_same(value_string_ext*, (x)))
78 #define TFS(x) (cast_same(const struct true_false_string*, (x)))
80 typedef void (*custom_fmt_func_t)(gchar *, guint32);
82 typedef void (*custom_fmt_func_64_t)(gchar *, guint64);
84 typedef void (*custom_fmt_func_double_t)(gchar *, double);
93 #define CF_FUNC(x) ((const void *) (gsize) (x))
97 #define RVALS(x) (cast_same(const struct _range_string*, (x)))
100 #define FRAMENUM_TYPE(x) GINT_TO_POINTER(x)
117 WS_DLL_PUBLIC WS_NORETURN
121 #define REPORT_DISSECTOR_BUG(...) \
122 proto_report_dissector_bug(__VA_ARGS__)
129 #define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression) \
130 ; __analysis_assume(expression);
132 #define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
146 #define __DISSECTOR_ASSERT_STRINGIFY(s) # s
148 #define __DISSECTOR_ASSERT(expression, file, lineno) \
149 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"%s\"", \
150 file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression)))
152 #define __DISSECTOR_ASSERT_HINT(expression, file, lineno, hint) \
153 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"%s\" (%s)", \
154 file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression), hint))
156 #define DISSECTOR_ASSERT(expression) \
157 ((void) ((expression) ? (void)0 : \
158 __DISSECTOR_ASSERT (expression, __FILE__, __LINE__))) \
159 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
168 #define DISSECTOR_ASSERT_HINT(expression, hint) \
169 ((void) ((expression) ? (void)0 : \
170 __DISSECTOR_ASSERT_HINT (expression, __FILE__, __LINE__, hint))) \
171 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
176 #define DISSECTOR_ASSERT(expression) \
177 { if(!(expression)) _asm { int 3}; }
188 #define DISSECTOR_ASSERT_NOT_REACHED() \
189 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"DISSECTOR_ASSERT_NOT_REACHED\"", \
211 #define __DISSECTOR_ASSERT_CMPINT(a, op, b, type, fmt) \
212 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion " #a " " #op " " #b " (" fmt " " #op " " fmt ")", \
213 __FILE__, __LINE__, (type)a, (type)b))
215 #define DISSECTOR_ASSERT_CMPINT(a, op, b) \
216 ((void) ((a op b) ? (void)0 : \
217 __DISSECTOR_ASSERT_CMPINT (a, op, b, int64_t, "%" PRId64))) \
218 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
225 #define DISSECTOR_ASSERT_CMPUINT(a, op, b) \
226 ((void) ((a op b) ? (void)0 : \
227 __DISSECTOR_ASSERT_CMPINT (a, op, b, uint64_t, "%" PRIu64))) \
228 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
233 #define DISSECTOR_ASSERT_CMPUINTHEX(a, op, b) \
234 ((void) ((a op b) ? (void)0 : \
235 __DISSECTOR_ASSERT_CMPINT (a, op, b, uint64_t, "0x%" PRIX64))) \
236 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
246 #define __DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t) \
247 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type "#t, \
248 __FILE__, __LINE__, (hfinfo)->abbrev))
250 #define DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t) \
251 ((void) (((hfinfo)->type == t) ? (void)0 : \
252 __DISSECTOR_ASSERT_FIELD_TYPE ((hfinfo), t))) \
253 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT((hfinfo)->type == t)
255 #define DISSECTOR_ASSERT_FIELD_TYPE_IS_INTEGRAL(hfinfo) \
256 ((void) ((FT_IS_INTEGER((hfinfo)->type)) ? (void)0 : \
257 REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_CHAR or an FT_{U}INTn type", \
258 __FILE__, __LINE__, (hfinfo)->abbrev))) \
259 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(FT_IS_INTEGER((hfinfo)->type))
261 #define __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo) \
262 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_STRING, FT_STRINGZ, FT_STRINGZPAD, FT_STRINGZTRUNC, or FT_UINT_STRING", \
263 __FILE__, __LINE__, (hfinfo)->abbrev))
265 #define DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo) \
266 ((void) (FT_IS_STRING((hfinfo)->type) ? (void)0 : \
267 __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING ((hfinfo)))) \
268 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(FT_IS_STRING((hfinfo)->type))
270 #define __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo) \
271 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_ABSOLUTE_TIME or FT_RELATIVE_TIME", \
272 __FILE__, __LINE__, (hfinfo)->abbrev))
274 #define DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo) \
275 ((void) (((hfinfo)->type == FT_ABSOLUTE_TIME || \
276 (hfinfo)->type == FT_RELATIVE_TIME) ? (void)0 : \
277 __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME ((hfinfo)))) \
278 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT((hfinfo)->type == FT_ABSOLUTE_TIME || \
279 (hfinfo)->type == FT_RELATIVE_TIME)
332 #define ENC_BIG_ENDIAN 0x00000000
333 #define ENC_LITTLE_ENDIAN 0x80000000
335 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
336 #define ENC_HOST_ENDIAN ENC_LITTLE_ENDIAN
337 #define ENC_ANTI_HOST_ENDIAN ENC_BIG_ENDIAN
339 #define ENC_HOST_ENDIAN ENC_BIG_ENDIAN
340 #define ENC_ANTI_HOST_ENDIAN ENC_LITTLE_ENDIAN
350 #define ENC_NA 0x00000000
380 #define ENC_CHARENCODING_MASK 0x0000FFFE
381 #define ENC_ASCII 0x00000000
382 #define ENC_ISO_646_IRV ENC_ASCII
383 #define ENC_UTF_8 0x00000002
384 #define ENC_UTF_16 0x00000004
385 #define ENC_UCS_2 0x00000006
386 #define ENC_UCS_4 0x00000008
387 #define ENC_ISO_8859_1 0x0000000A
388 #define ENC_ISO_8859_2 0x0000000C
389 #define ENC_ISO_8859_3 0x0000000E
390 #define ENC_ISO_8859_4 0x00000010
391 #define ENC_ISO_8859_5 0x00000012
392 #define ENC_ISO_8859_6 0x00000014
393 #define ENC_ISO_8859_7 0x00000016
394 #define ENC_ISO_8859_8 0x00000018
395 #define ENC_ISO_8859_9 0x0000001A
396 #define ENC_ISO_8859_10 0x0000001C
397 #define ENC_ISO_8859_11 0x0000001E
399 #define ENC_ISO_8859_13 0x00000022
400 #define ENC_ISO_8859_14 0x00000024
401 #define ENC_ISO_8859_15 0x00000026
402 #define ENC_ISO_8859_16 0x00000028
403 #define ENC_WINDOWS_1250 0x0000002A
404 #define ENC_3GPP_TS_23_038_7BITS_PACKED 0x0000002C
405 #define ENC_3GPP_TS_23_038_7BITS ENC_3GPP_TS_23_038_7BITS_PACKED
406 #define ENC_EBCDIC 0x0000002E
407 #define ENC_MAC_ROMAN 0x00000030
408 #define ENC_CP437 0x00000032
409 #define ENC_ASCII_7BITS 0x00000034
410 #define ENC_T61 0x00000036
411 #define ENC_EBCDIC_CP037 0x00000038
412 #define ENC_WINDOWS_1252 0x0000003A
413 #define ENC_WINDOWS_1251 0x0000003C
414 #define ENC_CP855 0x0000003E
415 #define ENC_CP866 0x00000040
416 #define ENC_ISO_646_BASIC 0x00000042
417 #define ENC_BCD_DIGITS_0_9 0x00000044
418 #define ENC_KEYPAD_ABC_TBCD 0x00000046
419 #define ENC_KEYPAD_BC_TBCD 0x00000048
420 #define ENC_3GPP_TS_23_038_7BITS_UNPACKED 0x0000004C
421 #define ENC_ETSI_TS_102_221_ANNEX_A 0x0000004E
422 #define ENC_GB18030 0x00000050
423 #define ENC_EUC_KR 0x00000052
424 #define ENC_APN_STR 0x00000054
425 #define ENC_DECT_STANDARD_8BITS 0x00000056
426 #define ENC_DECT_STANDARD_4BITS_TBCD 0x00000058
427 #define ENC_EBCDIC_CP500 0x00000060
459 #define ENC_ZIGBEE 0x40000000
469 #define ENC_BOM 0x20000000
483 #define ENC_STR_NUM 0x01000000
485 #define ENC_STR_HEX 0x02000000
487 #define ENC_STRING 0x03000000
489 #define ENC_STR_MASK 0x0000FFFE
504 #define ENC_NUM_PREF 0x00200000
516 #define ENC_SEP_NONE 0x00010000
517 #define ENC_SEP_COLON 0x00020000
518 #define ENC_SEP_DASH 0x00040000
519 #define ENC_SEP_DOT 0x00080000
520 #define ENC_SEP_SPACE 0x00100000
522 #define ENC_SEP_MASK 0x001F0000
528 #define ENC_BCD_ODD_NUM_DIG 0x00010000
529 #define ENC_BCD_SKIP_FIRST 0x00020000
610 #define ENC_TIME_SECS_NSECS 0x00000000
611 #define ENC_TIME_TIMESPEC 0x00000000
612 #define ENC_TIME_NTP 0x00000002
613 #define ENC_TIME_TOD 0x00000004
614 #define ENC_TIME_RTPS 0x00000008
615 #define ENC_TIME_NTP_BASE_ZERO 0x00000008
616 #define ENC_TIME_SECS_USECS 0x00000010
617 #define ENC_TIME_TIMEVAL 0x00000010
618 #define ENC_TIME_SECS 0x00000012
619 #define ENC_TIME_MSECS 0x00000014
620 #define ENC_TIME_SECS_NTP 0x00000018
621 #define ENC_TIME_RFC_3971 0x00000020
622 #define ENC_TIME_MSEC_NTP 0x00000022
623 #define ENC_TIME_MIP6 0x00000024
624 #define ENC_TIME_CLASSIC_MAC_OS_SECS 0x00000026
625 #define ENC_TIME_NSECS 0x00000028
626 #define ENC_TIME_USECS 0x00000030
635 #define ENC_ISO_8601_DATE 0x00010000
636 #define ENC_ISO_8601_TIME 0x00020000
637 #define ENC_ISO_8601_DATE_TIME 0x00030000
638 #define ENC_IMF_DATE_TIME 0x00040000
639 #define ENC_RFC_822 0x00040000
640 #define ENC_RFC_1123 0x00040000
641 #define ENC_ISO_8601_DATE_TIME_BASIC 0x00100000
643 #define ENC_STR_TIME_MASK 0x001F0000
652 #define ENC_VARINT_PROTOBUF 0x00000002
657 #define ENC_VARINT_QUIC 0x00000004
662 #define ENC_VARINT_ZIGZAG 0x00000008
667 #define ENC_VARINT_SDNV 0x00000010
669 #define ENC_VARINT_MASK (ENC_VARINT_PROTOBUF|ENC_VARINT_QUIC|ENC_VARINT_ZIGZAG|ENC_VARINT_SDNV)
677 #define FIELD_DISPLAY_E_MASK 0xFF
720 #define FIELD_DISPLAY(d) ((d) & FIELD_DISPLAY_E_MASK)
722 #define FIELD_DISPLAY_IS_ABSOLUTE_TIME(d) \
723 (FIELD_DISPLAY(d) >= ABSOLUTE_TIME_LOCAL && FIELD_DISPLAY(d) <= ABSOLUTE_TIME_UNIX)
727 #define BASE_RANGE_STRING 0x00000100
728 #define BASE_EXT_STRING 0x00000200
729 #define BASE_VAL64_STRING 0x00000400
731 #define BASE_ALLOW_ZERO 0x00000800
733 #define BASE_UNIT_STRING 0x00001000
735 #define BASE_NO_DISPLAY_VALUE 0x00002000
738 #define BASE_PROTOCOL_INFO 0x00004000
740 #define BASE_SPECIAL_VALS 0x00008000
742 #define BASE_SHOW_ASCII_PRINTABLE 0x00010000
744 #define BASE_SHOW_UTF_8_PRINTABLE 0x00020000
747 #define IS_BASE_DUAL(b) ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC)
750 #define IS_BASE_PORT(b) (((b)==BASE_PT_UDP||(b)==BASE_PT_TCP||(b)==BASE_PT_DCCP||(b)==BASE_PT_SCTP))
789 #define HFILL -1, 0, HF_REF_TYPE_NONE, -1, NULL
791 #define HFILL_INIT(hf) \
792 (hf).hfinfo.id = -1; \
793 (hf).hfinfo.parent = 0; \
794 (hf).hfinfo.ref_type = HF_REF_TYPE_NONE; \
795 (hf).hfinfo.same_name_prev_id = -1; \
796 (hf).hfinfo.same_name_next = NULL;
836 guint crumb_bit_offset;
837 guint8 crumb_bit_length;
850 #define FI_HIDDEN 0x00000001
853 #define FI_GENERATED 0x00000002
855 #define FI_URL 0x00000004
858 #define FI_LITTLE_ENDIAN 0x00000008
860 #define FI_BIG_ENDIAN 0x00000010
862 #define FI_BITS_OFFSET(n) (((n) & 7) << 5)
865 #define FI_BITS_SIZE(n) (((n) & 63) << 8)
867 #define FI_VARINT 0x00004000
870 #define FI_GET_FLAG(fi, flag) ((fi) ? ((fi)->flags & (flag)) : 0)
872 #define FI_SET_FLAG(fi, flag) \
875 (fi)->flags = (fi)->flags | (flag); \
878 #define FI_RESET_FLAG(fi, flag) \
881 (fi)->flags = (fi)->flags & ~(flag); \
884 #define FI_GET_BITS_OFFSET(fi) (FI_GET_FLAG(fi, FI_BITS_OFFSET(7)) >> 5)
885 #define FI_GET_BITS_SIZE(fi) (FI_GET_FLAG(fi, FI_BITS_SIZE(63)) >> 8)
890 GHashTable *interesting_hfids;
892 gboolean fake_protocols;
920 #define PI_SEVERITY_MASK 0x00F00000
922 #define PI_COMMENT 0x00100000
924 #define PI_CHAT 0x00200000
926 #define PI_NOTE 0x00400000
928 #define PI_WARN 0x00600000
930 #define PI_ERROR 0x00800000
933 #define PI_GROUP_MASK 0xFF000000
935 #define PI_CHECKSUM 0x01000000
937 #define PI_SEQUENCE 0x02000000
939 #define PI_RESPONSE_CODE 0x03000000
941 #define PI_REQUEST_CODE 0x04000000
943 #define PI_UNDECODED 0x05000000
945 #define PI_REASSEMBLE 0x06000000
947 #define PI_MALFORMED 0x07000000
949 #define PI_DEBUG 0x08000000
951 #define PI_PROTOCOL 0x09000000
953 #define PI_SECURITY 0x0a000000
955 #define PI_COMMENTS_GROUP 0x0b000000
957 #define PI_DECRYPTION 0x0c000000
959 #define PI_ASSUMPTION 0x0d000000
961 #define PI_DEPRECATED 0x0e000000
963 #define PI_RECEIVE 0x0f000000
965 #define PI_INTERFACE 0x10000000
967 #define PI_DISSECTOR_BUG 0x11000000
975 #define PNODE_FINFO(proto_node) ((proto_node)->finfo)
978 #define PITEM_FINFO(proto_item) PNODE_FINFO(proto_item)
981 #define PTREE_FINFO(proto_tree) PNODE_FINFO(proto_tree)
984 #define PTREE_DATA(proto_tree) ((proto_tree)->tree_data)
987 #define PNODE_POOL(proto_node) ((proto_node)->tree_data->pinfo->pool)
994 static inline gboolean proto_item_is_hidden(
proto_item *ti) {
1000 #define PROTO_ITEM_IS_HIDDEN(ti) proto_item_is_hidden((ti))
1006 static inline void proto_item_set_hidden(
proto_item *ti) {
1011 #define PROTO_ITEM_SET_HIDDEN(ti) proto_item_set_hidden((ti))
1016 static inline void proto_item_set_visible(
proto_item *ti) {
1021 #define PROTO_ITEM_SET_VISIBLE(ti) proto_item_set_visible((ti))
1027 static inline gboolean proto_item_is_generated(
proto_item *ti) {
1033 #define PROTO_ITEM_IS_GENERATED(ti) proto_item_is_generated((ti))
1038 static inline void proto_item_set_generated(
proto_item *ti) {
1043 #define PROTO_ITEM_SET_GENERATED(ti) proto_item_set_generated((ti))
1050 static inline gboolean proto_item_is_url(
proto_item *ti) {
1056 #define PROTO_ITEM_IS_URL(ti) proto_item_is_url((ti))
1061 static inline void proto_item_set_url(
proto_item *ti) {
1066 #define PROTO_ITEM_SET_URL(ti) proto_item_set_url((ti))
1068 typedef void (*proto_tree_foreach_func)(
proto_node *,
void *);
1069 typedef bool (*proto_tree_traverse_func)(
proto_node *,
void *);
1071 WS_DLL_PUBLIC
void proto_tree_children_foreach(
proto_tree *tree,
1072 proto_tree_foreach_func func, gpointer data);
1075 void (*register_protoinfo)(void);
1076 void (*register_handoff)(void);
1084 GSList *register_all_plugin_handoffs_list, register_cb cb,
void *client_data);
1210 WS_DLL_PUBLIC gboolean
1277 const gint start, gint length, const guint encoding);
1281 const gint start, gint length, const guint encoding);
1297 const gint start, gint length, const guint encoding, gint *lenretval);
1301 const gint start, gint length, const guint encoding, gint *lenretval);
1336 const gint start, gint length, const guint encoding, gint32 *retval);
1340 const gint start, gint length, const guint encoding, gint64 *retval);
1344 const gint start, gint length, const guint encoding, guint32 *retval);
1348 const gint start, gint length, const guint encoding, guint64 *retval);
1352 const gint start, gint length, const guint encoding, guint64 *retval, gint *lenretval);
1356 const gint start, gint length, const guint encoding,
bool *retval);
1360 const gint start, gint length, const guint encoding, ws_in4_addr *retval);
1378 const gint start, gint length, const guint encoding,
ws_in6_addr *retval);
1396 const gint start, gint length, const guint encoding, guint8 *retval);
1413 const gint start, gint length,
1414 const guint encoding, gfloat *retval);
1431 const gint start, gint length,
1432 const guint encoding, gdouble *retval);
1465 tvbuff_t *tvb, const gint start, gint length, const guint encoding,
1497 const gint start, gint length, const guint encoding,
1523 const gint start, gint length, const guint encoding,
1546 const gint start, gint length, const guint encoding,
1567 const gint start, gint length, const guint encoding,
1580 ...) G_GNUC_PRINTF(5,6);
1592 gint length, const
char *format, va_list ap) G_GNUC_PRINTF(5, 0);
1619 proto_item **tree_item, const
char *format, ...) G_GNUC_PRINTF(7,8);
1640 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1653 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1665 gint length, const guint8* start_ptr);
1679 gint length, const guint8 *start_ptr, gint ptr_length);
1716 const gint start, gint length, const guint encoding,
1717 GByteArray *retval, gint *endoff, gint *err);
1733 gint start, gint length, const guint8* start_ptr, const
char *format,
1734 ...) G_GNUC_PRINTF(7,8);
1749 gint length, const guint8* start_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1761 gint length, const
nstime_t* value_ptr);
1795 const gint start, gint length, const guint encoding,
1796 nstime_t *retval, gint *endoff, gint *err);
1813 gint start, gint length,
nstime_t* value_ptr, const
char *format, ...)
1830 gint length,
nstime_t* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1842 gint length, guint32 value);
1858 gint start, gint length, guint32 value, const
char *format, ...)
1874 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1886 gint length, ws_in4_addr value);
1902 gint start, gint length, ws_in4_addr value, const
char *format, ...)
1918 gint length, ws_in4_addr value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1946 gint start, gint length, const
ws_in6_addr *value_ptr, const
char *format,
1947 ...) G_GNUC_PRINTF(7,8);
1962 gint length, const
ws_in6_addr *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1974 gint length, const guint8* value);
1990 gint start, gint length, const guint8* value, const
char *format, ...)
2006 gint length, const guint8* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2018 gint length, const
e_guid_t *value_ptr);
2034 gint start, gint length, const
e_guid_t *value_ptr, const
char *format,
2035 ...) G_GNUC_PRINTF(7,8);
2050 gint length, const
e_guid_t *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2062 gint length, const guint8* value_ptr);
2078 gint start, gint length, const guint8* value_ptr, const
char *format,
2079 ...) G_GNUC_PRINTF(7,8);
2094 gint length, const guint8* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2117 gint length, const
char* value);
2133 gint start, gint length, const
char* value, const
char *format, ...)
2150 gint length, const
char* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2162 gint length, guint64 value);
2178 tvbuff_t *tvb, gint start, gint length, guint64 value,
2179 const
char *format, ...) G_GNUC_PRINTF(7,8);
2194 gint length, guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2206 gint length,
float value);
2222 gint start, gint length,
float value, const
char *format, ...)
2238 gint length,
float value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2250 gint length,
double value);
2266 gint start, gint length,
double value, const
char *format, ...)
2282 gint length,
double value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2294 gint length, guint32 value);
2310 gint start, gint length, guint32 value, const
char *format, ...)
2327 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2339 gint length, guint64 value);
2355 gint start, gint length, guint64 value, const
char *format, ...)
2371 gint length, guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2383 gint length, gint32 value);
2399 gint start, gint length, gint32 value, const
char *format, ...)
2416 gint length, gint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2428 gint length, gint64 value);
2444 gint start, gint length, gint64 value, const
char *format, ...)
2460 gint length, gint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2472 gint length, const guint64 value);
2488 gint start, gint length, const guint64 value, const
char *format, ...)
2504 gint length, const guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2509 int *hf_addr_resolved;
2511 int *hf_oui_resolved;
2538 ...) G_GNUC_PRINTF(2,3);
2581 int parent_proto, enum ftenum field_type);
2713 WS_DLL_PUBLIC
int proto_get_data_protocol(
void *cookie);
2714 WS_DLL_PUBLIC
int proto_get_next_protocol(
void **cookie);
2715 WS_DLL_PUBLIC
header_field_info *proto_get_first_protocol_field(const
int proto_id,
void **cookie);
2716 WS_DLL_PUBLIC
header_field_info *proto_get_next_protocol_field(const
int proto_id,
void **cookie);
2789 gpointer user_data);
2809 bool *is_ip,
bool *is_tcp,
bool *is_udp,
bool *is_sctp,
2810 bool *is_tls,
bool *is_rtp,
bool *is_lte_rlc);
2924 #ifndef g_ptr_array_len
2925 #define g_ptr_array_len(a) ((a)?(a)->len:0)
2937 WS_DLL_PUBLIC gboolean
2959 WS_DLL_PUBLIC gchar*
2983 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding);
3009 const int hf_hdr,
const gint ett,
int *
const *fields,
3010 const guint encoding, guint64 *retval);
3037 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3067 const int hf_hdr,
const gint ett,
int *
const *fields,
3068 const guint encoding,
const int flags, guint64 *retval);
3091 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value);
3118 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value,
const int flags);
3136 const int len,
int *
const *fields,
const guint encoding);
3155 const int len,
int *
const *fields,
const guint encoding, guint64 *retval);
3173 const int len,
int *
const *fields,
const guint64 value);
3199 const int hf_hdr,
const gint ett,
int *
const *fields,
struct expert_field* exp,
const guint encoding);
3215 const char *name,
const char *fallback,
3216 const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3218 #define BMT_NO_FLAGS 0x00
3219 #define BMT_NO_APPEND 0x01
3220 #define BMT_NO_INT 0x02
3221 #define BMT_NO_FALSE 0x04
3222 #define BMT_NO_TFS 0x08
3235 const gint no_of_bits,
const guint encoding);
3254 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint64 *return_value);
3271 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint16 crumb_index);
3285 const guint bit_offset,
const gint no_of_bits, guint64 *return_value,
const guint encoding);
3301 const guint bit_offset,
const gint no_of_bits, guint32 value,
const guint encoding,
3302 const char *format, ...)
3319 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3320 const
char *format, ...)
3338 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3339 const
char *format, ...)
3357 const guint bit_offset, const gint no_of_bits, gint32 value, const guint encoding,
3358 const
char *format, ...)
3376 const guint bit_offset, const gint no_of_bits, gint64 value, const guint encoding,
3377 const
char *format, ...)
3395 const guint bit_offset, const gint no_of_bits,
float value, const guint encoding,
3396 const
char *format, ...)
3410 const guint bit_offset, const gint no_of_chars);
3421 const guint bit_offset, const gint no_of_chars);
3442 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3443 packet_info *pinfo, guint32 computed_checksum, const guint encoding, const guint flags);
3464 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3465 packet_info *pinfo, const uint8_t *computed_checksum,
size_t checksum_len, const guint flags);
3469 PROTO_CHECKSUM_E_BAD = 0,
3470 PROTO_CHECKSUM_E_GOOD,
3471 PROTO_CHECKSUM_E_UNVERIFIED,
3472 PROTO_CHECKSUM_E_NOT_PRESENT,
3473 PROTO_CHECKSUM_E_ILLEGAL
3474 } proto_checksum_enum_e;
3476 #define PROTO_CHECKSUM_NO_FLAGS 0x00
3477 #define PROTO_CHECKSUM_VERIFY 0x01
3478 #define PROTO_CHECKSUM_GENERATED 0x02
3479 #define PROTO_CHECKSUM_IN_CKSUM 0x04
3480 #define PROTO_CHECKSUM_ZERO 0x08
3481 #define PROTO_CHECKSUM_NOT_PRESENT 0x10
3483 WS_DLL_PUBLIC
const value_string proto_checksum_vals[];
3488 WS_DLL_PUBLIC guchar
3495 WS_DLL_PUBLIC guchar
3510 gchar *expr,
const int size );
3523 hfinfo_char_value_format_display(
int display,
char buf[7], guint32 value);
WS_DLL_PUBLIC int hf_text_only
Definition: proto.h:56
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, gint start, gint length, const e_guid_t *value_ptr)
Definition: proto.c:5090
void proto_tree_add_split_bits_crumb(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const crumb_spec_t *crumb_spec, guint16 crumb_index)
Definition: proto.c:13283
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 guint bit_offset, const gint no_of_bits, float value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC gboolean proto_registrar_is_protocol(const int n)
Definition: proto.c:11091
WS_DLL_PUBLIC gboolean proto_tracking_interesting_fields(const proto_tree *tree)
Definition: proto.c:11146
WS_DLL_PUBLIC proto_tree * proto_tree_get_root(proto_tree *tree)
Definition: proto.c:7908
#define ITEM_LABEL_LENGTH
Definition: proto.h:59
WS_DLL_PUBLIC const char * proto_field_display_to_string(int field_display)
Definition: proto.c:8901
WS_DLL_PUBLIC const char * proto_registrar_get_abbrev(const int n)
Definition: proto.c:11064
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)
Definition: proto.c:8401
WS_DLL_PUBLIC proto_item * proto_tree_add_time_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, nstime_t *retval, gint *endoff, gint *err)
Definition: proto.c:4510
struct _item_label_t item_label_t
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC void proto_item_fill_label(field_info *finfo, gchar *label_str)
Definition: proto.c:9783
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled_by_default(const protocol_t *protocol)
Definition: proto.c:8510
WS_DLL_PUBLIC void proto_item_set_end(proto_item *pi, tvbuff_t *tvb, gint end)
Definition: proto.c:7675
#define FI_URL
Definition: proto.h:855
WS_DLL_PUBLIC gchar * proto_list_layers(const packet_info *pinfo)
Definition: proto.c:8466
WS_DLL_PUBLIC gboolean tree_expanded(int tree_type)
Definition: proto.c:13915
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_float(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gfloat *retval)
Parse a float from the buffer and add it to the tree, returning the item added and the parsed value v...
Definition: proto.c:3782
void proto_tree_prime_with_hfid(proto_tree *tree, const int hfid)
WS_DLL_PUBLIC int proto_item_get_len(const proto_item *pi)
Definition: proto.c:7695
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *format,...) G_GNUC_PRINTF(6
WS_DLL_PUBLIC proto_item * proto_tree_add_bytes_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC int proto_name_already_registered(const gchar *name)
Definition: proto.c:8302
WS_DLL_PUBLIC proto_item * proto_tree_add_none_format(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const gint start, gint length, const char *format,...) G_GNUC_PRINTF(6
WS_DLL_PUBLIC proto_item * proto_tree_add_string_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_eui64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint64 value, const char *format,...) G_GNUC_PRINTF(7
void proto_tree_set_fake_protocols(proto_tree *tree, gboolean fake_protocols)
Definition: proto.c:877
WS_DLL_PUBLIC int proto_get_id_by_short_name(const gchar *short_name)
Definition: proto.c:8326
WS_DLL_PUBLIC gboolean proto_is_pino(const protocol_t *protocol)
Definition: proto.c:8489
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_display_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval)
Definition: proto.c:4188
WS_DLL_PUBLIC protocol_t * find_protocol_by_id(const int proto_id)
Definition: proto.c:8281
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_value_with_flags(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint64 value, const int flags)
Definition: proto.c:12771
WS_DLL_PUBLIC void proto_register_field_array(const int parent, hf_register_info *hf, const int num_records)
Definition: proto.c:8626
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_with_flags_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, const int flags, guint64 *retval)
Definition: proto.c:12702
WS_DLL_PUBLIC proto_item * proto_tree_add_int64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint64 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC gchar * proto_find_undecoded_data(proto_tree *tree, guint length)
Definition: proto.c:11336
WS_DLL_PUBLIC proto_item * proto_tree_add_uint64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
hf_ref_type
Definition: proto.h:752
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 proto_item * proto_tree_add_mac48_detail(const mac_hf_list_t *list_specific, const mac_hf_list_t *list_generic, gint idx, tvbuff_t *tvb, proto_tree *tree, gint offset)
Definition: proto.c:6196
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint64(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value)
Definition: proto.c:5840
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, gint start, gint length, const guint8 *start_ptr)
Definition: proto.c:4676
WS_DLL_PUBLIC gboolean proto_registrar_dump_fieldcount(void)
Definition: proto.c:11638
proto_item proto_item * proto_tree_add_text_valist_internal(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format, va_list ap) G_GNUC_PRINTF(5
WS_DLL_PUBLIC enum ftenum proto_registrar_get_ftype(const int n)
Definition: proto.c:11073
#define FI_RESET_FLAG(fi, flag)
Definition: proto.h:878
WS_DLL_PUBLIC void proto_initialize_all_prefixes(void)
Definition: proto.c:989
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_uint64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC void proto_tree_set_appendix(proto_tree *tree, tvbuff_t *tvb, gint start, const gint length)
Definition: proto.c:7965
WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC int proto_registrar_get_id_byname(const char *field_name)
Definition: proto.c:1073
struct hf_register_info hf_register_info
WS_DLL_PUBLIC void proto_tree_add_bitmask_list(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint encoding)
Definition: proto.c:12799
WS_DLL_PUBLIC proto_item * proto_tree_add_guid_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const e_guid_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_checksum_bytes(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, const uint8_t *computed_checksum, size_t checksum_len, const guint flags)
Definition: proto.c:13810
WS_DLL_PUBLIC char * proto_construct_match_selected_string(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12275
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, gint start, gint length, const char *value)
Definition: proto.c:5270
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_display_string_and_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval, gint *lenretval)
Definition: proto.c:4072
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint64 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC 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)
Definition: proto.c:8100
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 guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC proto_item * proto_tree_add_double_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, double value, const char *format,...) G_GNUC_PRINTF(7
struct _proto_node proto_node
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_ipv6(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, ws_in6_addr *retval)
Parse an ipv6 address from the buffer and add it to the tree, writing the value to the pointer specif...
Definition: proto.c:3913
proto_item proto_item WS_DLL_PUBLIC proto_tree * proto_tree_add_subtree(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, gint idx, proto_item **tree_item, const char *text)
Definition: proto.c:1448
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, gint start, gint length, const guint8 *value_ptr)
Definition: proto.c:5167
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding)
Definition: proto.c:12690
WS_DLL_PUBLIC void proto_registrar_dump_values(void)
Definition: proto.c:11423
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 guint bit_offset, const gint no_of_bits, gint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC proto_item * proto_tree_add_split_bits_item_ret_val(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const crumb_spec_t *crumb_spec, guint64 *return_value)
Definition: proto.c:13104
WS_DLL_PUBLIC void proto_item_set_bits_offset_len(proto_item *ti, int bits_offset, int bits_len)
Definition: proto.c:7706
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, gint start, gint length, gint64 value)
Definition: proto.c:6027
#define FI_GET_FLAG(fi, flag)
Definition: proto.h:870
proto_node proto_item
Definition: proto.h:910
WS_DLL_PUBLIC proto_item * proto_tree_add_ether_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC const char * proto_get_protocol_long_name(const protocol_t *protocol)
Definition: proto.c:8360
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item struct _mac_hf_list_t mac_hf_list_t
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_oid_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC gboolean proto_is_frame_protocol(const wmem_list_t *layers, const char *proto_name)
Definition: proto.c:8441
WS_DLL_PUBLIC proto_tree * proto_item_add_subtree(proto_item *pi, const gint idx) G_GNUC_WARN_UNUSED_RESULT
Definition: proto.c:7821
WS_DLL_PUBLIC proto_tree * proto_tree_add_subtree_format(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, gint idx, proto_item **tree_item, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC header_field_info * proto_registrar_get_byname(const char *field_name)
Definition: proto.c:1000
WS_DLL_PUBLIC header_field_info * proto_registrar_get_byalias(const char *alias_name)
Definition: proto.c:1042
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 guint bit_offset, const gint no_of_bits, gint32 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC int proto_registrar_get_parent(const int n)
Definition: proto.c:11082
proto_tree * proto_tree_create_root(struct _packet_info *pinfo)
Definition: proto.c:7727
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const char *value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value)
Definition: proto.c:5385
WS_DLL_PUBLIC proto_item * proto_tree_add_ipxnet_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
#define FI_HIDDEN
Definition: proto.h:850
WS_DLL_PUBLIC void proto_deregister_field(const int parent, gint hf_id)
Definition: proto.c:8660
WS_DLL_PUBLIC proto_item * proto_tree_add_int_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_with_flags(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, const int flags)
Definition: proto.c:12737
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_value(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint64 value)
Definition: proto.c:12828
WS_DLL_PUBLIC proto_tree * proto_item_get_subtree(proto_item *pi)
Definition: proto.c:7839
WS_DLL_PUBLIC proto_item * proto_tree_add_ipv6_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const ws_in6_addr *value_ptr, const char *format,...) G_GNUC_PRINTF(7
proto_item * proto_tree_add_text_internal(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format,...) G_GNUC_PRINTF(5
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, gint start, gint length, guint32 value)
Definition: proto.c:5747
WS_DLL_PUBLIC proto_item * proto_tree_add_bits_item(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, const guint encoding)
Definition: proto.c:12925
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:11223
WS_DLL_PUBLIC proto_item * proto_item_get_parent(const proto_item *pi)
Definition: proto.c:7851
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_float_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, float value, const char *format,...) G_GNUC_PRINTF(7
struct field_info field_info
WS_DLL_PUBLIC proto_item * proto_tree_add_bytes_with_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, gint ptr_length)
Definition: proto.c:4701
WS_DLL_PUBLIC void tree_expanded_set(int tree_type, gboolean value)
Definition: proto.c:13925
WS_DLL_PUBLIC proto_item * proto_tree_add_time_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, nstime_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
proto_item * proto_tree_add_format_wsp_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length)
Definition: proto.c:1518
void proto_tree_prime_with_hfid_print(proto_tree *tree, const int hfid)
WS_DLL_PUBLIC GPtrArray * proto_get_finfo_ptr_array(const proto_tree *tree, const int hfindex)
Definition: proto.c:11133
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 guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_double(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gdouble *retval)
Parse a double from the buffer and add it to the tree, returning the item added and the parsed value ...
Definition: proto.c:3821
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach(const protocol_t *protocol, GFunc func, gpointer user_data)
Definition: proto.c:8392
WS_DLL_PUBLIC void proto_add_deregistered_data(void *data)
Definition: proto.c:8690
field_display_e
Definition: proto.h:679
WS_DLL_PUBLIC proto_item * proto_tree_add_eui64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint64 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_string_and_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, const guint8 **retval, gint *lenretval)
Definition: proto.c:3991
void(* prefix_initializer_t)(const char *match)
Definition: proto.h:2602
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int *const *fields, const guint encoding, guint64 *retval)
Definition: proto.c:12812
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, gint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv4(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ws_in4_addr value)
Definition: proto.c:4932
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, gint start, gint length, const ws_in6_addr *value_ptr)
Definition: proto.c:4999
WS_DLL_PUBLIC proto_item * proto_tree_add_uint_bits_format_value(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint32 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC gboolean proto_can_toggle_protocol(const int proto_id)
Definition: proto.c:8521
void proto_cleanup(void)
Definition: proto.c:725
gboolean proto_deregister_protocol(const char *short_name)
Definition: proto.c:8159
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name(const int proto_id)
Definition: proto.c:8368
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_value(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint64 value)
Definition: proto.c:12762
WS_DLL_PUBLIC gboolean proto_registrar_dump_field_completions(char *prefix)
Definition: proto.c:12019
WS_DLL_PUBLIC int proto_item_fill_display_label(field_info *fi, gchar *display_label_str, const int label_str_size)
Definition: proto.c:6843
WS_DLL_PUBLIC guchar proto_check_field_name_lower(const gchar *field_name)
Definition: proto.c:13909
WS_DLL_PUBLIC WS_NORETURN void proto_report_dissector_bug(const char *format,...) G_GNUC_PRINTF(1
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_time_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, char **retval)
Definition: proto.c:4200
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled(const protocol_t *protocol)
Definition: proto.c:8496
void proto_add_heuristic_dissector(protocol_t *protocol, const char *short_name)
Definition: proto.c:8378
WS_DLL_PUBLIC proto_item * proto_tree_add_bits_ret_val(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint64 *return_value, const guint encoding)
Definition: proto.c:13313
WS_DLL_PUBLIC void proto_tree_free(proto_tree *tree)
Definition: proto.c:841
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, wmem_allocator_t *scope, const guint8 **retval)
Definition: proto.c:4062
WS_DLL_PUBLIC void proto_registrar_dump_fields(void)
Definition: proto.c:11908
WS_DLL_PUBLIC proto_item * proto_tree_add_debug_text(proto_tree *tree, const char *format,...) G_GNUC_PRINTF(2
WS_DLL_PUBLIC int proto_get_first_protocol(void **cookie)
Definition: proto.c:8219
WS_DLL_PUBLIC GPtrArray * proto_find_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:11204
WS_DLL_PUBLIC void proto_tree_move_item(proto_tree *tree, proto_item *fixed_item, proto_item *item_to_move)
Definition: proto.c:7918
gint proto_registrar_get_length(const int n)
Definition: proto.c:11104
const gchar * proto_custom_set(proto_tree *tree, GSList *field_id, gint occurrence, gchar *result, gchar *expr, const int size)
Definition: proto.c:7121
proto_node proto_tree
Definition: proto.h:908
WS_DLL_PUBLIC proto_item * proto_tree_add_item_new(proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const gint start, gint length, const guint encoding)
Definition: proto.c:4279
WS_DLL_PUBLIC const char * proto_registrar_get_name(const int n)
Definition: proto.c:11055
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_hdr, const gint ett, int *const *fields, const guint encoding, guint64 *retval)
Definition: proto.c:12664
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, gint start, gint length, const guint64 value)
Definition: proto.c:6122
WS_DLL_PUBLIC field_info * proto_find_field_from_offset(proto_tree *tree, guint offset, tvbuff_t *tvb)
Definition: proto.c:11297
WS_DLL_PUBLIC void proto_disable_by_default(const int proto_id)
Definition: proto.c:8534
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 guint bit_offset, const gint no_of_chars)
Definition: proto.c:13647
WS_DLL_PUBLIC void proto_item_set_text(proto_item *pi, const char *format,...) G_GNUC_PRINTF(2
WS_DLL_PUBLIC gboolean proto_tree_set_visible(proto_tree *tree, gboolean visible)
Definition: proto.c:867
WS_DLL_PUBLIC proto_item * proto_tree_add_oid_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_boolean_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
gchar * proto_custom_get_filter(struct epan_dissect *edt, GSList *field_id, gint occurrence)
Definition: proto.c:7342
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 proto_item * proto_tree_add_item_ret_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, guint8 *retval)
Parse an ethernet address from the buffer and add it to the tree, writing the value to the pointer sp...
Definition: proto.c:3952
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, double value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC guchar proto_check_field_name(const gchar *field_name)
Definition: proto.c:13903
WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void WS_DLL_PUBLIC void proto_item_set_len(proto_item *pi, const gint length)
Definition: proto.c:7650
WS_DLL_PUBLIC void proto_register_plugin(const proto_plugin *plugin)
WS_DLL_PUBLIC int proto_get_id_by_filter_name(const gchar *filter_name)
Definition: proto.c:8312
WS_DLL_PUBLIC void proto_set_cant_toggle(const int proto_id)
Definition: proto.c:8605
WS_DLL_PUBLIC void proto_register_prefix(const char *prefix, prefix_initializer_t initializer)
Definition: proto.c:972
WS_DLL_PUBLIC int proto_register_protocol(const char *name, const char *short_name, const char *filter_name)
Definition: proto.c:8030
WS_DLL_PUBLIC proto_item * proto_tree_add_checksum(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, guint32 computed_checksum, const guint encoding, const guint flags)
Definition: proto.c:13713
WS_DLL_PUBLIC void proto_registrar_dump_protocols(void)
Definition: proto.c:11360
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_len(proto_tree *tree, tvbuff_t *tvb, const guint offset, const guint len, const int hf_hdr, const gint ett, int *const *fields, struct expert_field *exp, const guint encoding)
Definition: proto.c:12850
WS_DLL_PUBLIC gboolean proto_can_match_selected(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12263
WS_DLL_PUBLIC proto_item * proto_tree_add_float_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, float value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_text(proto_tree *tree, tvbuff_t *tvb, const guint offset, const guint len, const char *name, const char *fallback, const gint ett, int *const *fields, const guint encoding, const int flags)
Definition: proto.c:12902
WS_DLL_PUBLIC header_field_info * proto_registrar_get_nth(guint hfindex)
Definition: proto.c:914
WS_DLL_PUBLIC GPtrArray * proto_all_finfos(proto_tree *tree)
Definition: proto.c:11250
WS_DLL_PUBLIC const char * proto_get_protocol_name(const int proto_id)
Definition: proto.c:8340
WS_DLL_PUBLIC char * proto_item_get_display_repr(wmem_allocator_t *scope, proto_item *pi)
Definition: proto.c:7715
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, gint start, gint length, guint32 value)
Definition: proto.c:4867
gboolean proto_check_for_protocol_or_field(const proto_tree *tree, const int id)
Definition: proto.c:11115
void proto_init(GSList *register_all_plugin_protocols_list, GSList *register_all_plugin_handoffs_list, register_cb cb, void *client_data)
WS_DLL_PUBLIC void proto_registrar_dump_ftypes(void)
Definition: proto.c:12084
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, gint start, gint length, const nstime_t *value_ptr)
Definition: proto.c:4800
WS_DLL_PUBLIC proto_item * proto_tree_add_item_new_ret_length(proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint *lenretval)
Definition: proto.c:4314
WS_DLL_PUBLIC proto_item * proto_tree_add_ascii_7bits_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const guint bit_offset, const gint no_of_chars)
Definition: proto.c:13675
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, gint start, gint length, float value)
Definition: proto.c:5617
WS_DLL_PUBLIC void proto_reenable_all(void)
Definition: proto.c:8587
WS_DLL_PUBLIC void proto_register_subtree_array(gint *const *indices, const int num_indices)
Definition: proto.c:9647
WS_DLL_PUBLIC void proto_disable_all(void)
Definition: proto.c:8557
WS_DLL_PUBLIC gboolean proto_field_is_referenced(proto_tree *tree, int proto_id)
Definition: proto.c:890
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, gint start, gint length, gint32 value)
Definition: proto.c:5932
WS_DLL_PUBLIC proto_item * proto_tree_add_uint_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC void proto_set_decoding(const int proto_id, const gboolean enabled)
Definition: proto.c:8546
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, nstime_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC int num_tree_types
Definition: proto.h:2915
#define PITEM_FINFO(proto_item)
Definition: proto.h:978
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const guint8 *start_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_guid_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const e_guid_t *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint64 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_tree * proto_tree_get_parent_tree(proto_tree *tree)
Definition: proto.c:7894
WS_DLL_PUBLIC void proto_free_deregistered_fields(void)
Definition: proto.c:8852
WS_DLL_PUBLIC proto_item * proto_tree_get_parent(proto_tree *tree)
Definition: proto.c:7887
WS_DLL_PUBLIC proto_item * proto_tree_add_item_ret_int(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, gint32 *retval)
Definition: proto.c:3185
WS_DLL_PUBLIC const char * proto_get_protocol_short_name(const protocol_t *protocol)
Definition: proto.c:8352
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, gint start, gint length, double value)
Definition: proto.c:5682
#define FI_GENERATED
Definition: proto.h:853
#define FI_SET_FLAG(fi, flag)
Definition: proto.h:872
WS_DLL_PUBLIC proto_item * proto_tree_add_bytes_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding, GByteArray *retval, gint *endoff, gint *err)
Definition: proto.c:4382
WS_DLL_PUBLIC int proto_get_id(const protocol_t *protocol)
Definition: proto.c:8296
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, gint start, gint length, guint64 value)
Definition: proto.c:5456
WS_DLL_PUBLIC void proto_register_alias(const int proto_id, const char *alias_name)
Definition: proto.c:8201
WS_DLL_PUBLIC void proto_registrar_dump_elastic(const gchar *filter)
Definition: proto.c:11746
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, const ws_in6_addr *value_ptr, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC void proto_free_field_strings(ftenum_t field_type, unsigned int field_display, const void *field_strings)
Definition: proto.c:8706
WS_DLL_PUBLIC proto_tree proto_item * proto_tree_add_format_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length)
Definition: proto.c:1499
WS_DLL_PUBLIC proto_item * proto_item_get_parent_nth(proto_item *pi, int gen)
Definition: proto.c:7873
void proto_add_deregistered_slice(gsize block_size, gpointer mem_block)
Definition: proto.c:8696
@ HF_REF_TYPE_INDIRECT
Definition: proto.h:754
@ HF_REF_TYPE_NONE
Definition: proto.h:753
@ HF_REF_TYPE_DIRECT
Definition: proto.h:755
@ HF_REF_TYPE_PRINT
Definition: proto.h:756
@ ABSOLUTE_TIME_DOY_UTC
Definition: proto.h:712
@ BASE_PT_UDP
Definition: proto.h:701
@ BASE_HEX_DEC
Definition: proto.h:687
@ BASE_HEX
Definition: proto.h:684
@ ABSOLUTE_TIME_NTP_UTC
Definition: proto.h:713
@ BASE_EXP
Definition: proto.h:689
@ ABSOLUTE_TIME_UTC
Definition: proto.h:711
@ BASE_DEC
Definition: proto.h:683
@ ABSOLUTE_TIME_UNIX
Definition: proto.h:714
@ BASE_PT_TCP
Definition: proto.h:702
@ BASE_DEC_HEX
Definition: proto.h:686
@ BASE_OUI
Definition: proto.h:707
@ SEP_COLON
Definition: proto.h:694
@ BASE_PT_SCTP
Definition: proto.h:704
@ BASE_NETMASK
Definition: proto.h:698
@ ABSOLUTE_TIME_LOCAL
Definition: proto.h:710
@ BASE_PT_DCCP
Definition: proto.h:703
@ BASE_STR_WSP
Definition: proto.h:717
@ BASE_NONE
Definition: proto.h:680
@ SEP_DOT
Definition: proto.h:692
@ SEP_DASH
Definition: proto.h:693
@ SEP_SPACE
Definition: proto.h:695
@ BASE_OCT
Definition: proto.h:685
@ BASE_CUSTOM
Definition: proto.h:688
Definition: guid-utils.h:22
Definition: ftypes-int.h:17
Definition: packet_info.h:44
Definition: value_string.h:26
Definition: wmem_allocator.h:27
Definition: wmem_list.c:23
Definition: inet_addr.h:21
Definition: epan_dissect.h:28
gint tree_type
Definition: proto.h:816
guint32 flags
Definition: proto.h:817
gint appendix_start
Definition: proto.h:814
tvbuff_t * ds_tvb
Definition: proto.h:819
int proto_layer_num
Definition: proto.h:822
int total_layer_num
Definition: proto.h:821
gint length
Definition: proto.h:813
const header_field_info * hfinfo
Definition: proto.h:811
gint start
Definition: proto.h:812
item_label_t * rep
Definition: proto.h:818
gint appendix_length
Definition: proto.h:815
int * p_id
Definition: proto.h:800
header_field_info hfinfo
Definition: proto.h:801
Definition: tvbuff-int.h:35