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
614 #define ENC_TIME_SECS_NSECS 0x00000000
615 #define ENC_TIME_TIMESPEC 0x00000000
616 #define ENC_TIME_NTP 0x00000002
617 #define ENC_TIME_TOD 0x00000004
618 #define ENC_TIME_RTPS 0x00000008
619 #define ENC_TIME_NTP_BASE_ZERO 0x00000008
620 #define ENC_TIME_SECS_USECS 0x00000010
621 #define ENC_TIME_TIMEVAL 0x00000010
622 #define ENC_TIME_SECS 0x00000012
623 #define ENC_TIME_MSECS 0x00000014
624 #define ENC_TIME_SECS_NTP 0x00000018
625 #define ENC_TIME_RFC_3971 0x00000020
626 #define ENC_TIME_MSEC_NTP 0x00000022
627 #define ENC_TIME_MIP6 0x00000024
628 #define ENC_TIME_MP4_FILE_SECS 0x00000026
629 #define ENC_TIME_CLASSIC_MAC_OS_SECS 0x00000026
630 #define ENC_TIME_NSECS 0x00000028
631 #define ENC_TIME_USECS 0x00000030
632 #define ENC_TIME_ZBEE_ZCL 0x00000032
641 #define ENC_ISO_8601_DATE 0x00010000
642 #define ENC_ISO_8601_TIME 0x00020000
643 #define ENC_ISO_8601_DATE_TIME 0x00030000
644 #define ENC_IMF_DATE_TIME 0x00040000
645 #define ENC_RFC_822 0x00040000
646 #define ENC_RFC_1123 0x00040000
647 #define ENC_ISO_8601_DATE_TIME_BASIC 0x00100000
649 #define ENC_STR_TIME_MASK 0x001F0000
658 #define ENC_VARINT_PROTOBUF 0x00000002
663 #define ENC_VARINT_QUIC 0x00000004
668 #define ENC_VARINT_ZIGZAG 0x00000008
673 #define ENC_VARINT_SDNV 0x00000010
675 #define ENC_VARINT_MASK (ENC_VARINT_PROTOBUF|ENC_VARINT_QUIC|ENC_VARINT_ZIGZAG|ENC_VARINT_SDNV)
683 #define FIELD_DISPLAY_E_MASK 0xFF
726 #define FIELD_DISPLAY(d) ((d) & FIELD_DISPLAY_E_MASK)
728 #define FIELD_DISPLAY_IS_ABSOLUTE_TIME(d) \
729 (FIELD_DISPLAY(d) >= ABSOLUTE_TIME_LOCAL && FIELD_DISPLAY(d) <= ABSOLUTE_TIME_UNIX)
733 #define BASE_RANGE_STRING 0x00000100
734 #define BASE_EXT_STRING 0x00000200
735 #define BASE_VAL64_STRING 0x00000400
737 #define BASE_ALLOW_ZERO 0x00000800
739 #define BASE_UNIT_STRING 0x00001000
741 #define BASE_NO_DISPLAY_VALUE 0x00002000
744 #define BASE_PROTOCOL_INFO 0x00004000
746 #define BASE_SPECIAL_VALS 0x00008000
748 #define BASE_SHOW_ASCII_PRINTABLE 0x00010000
750 #define BASE_SHOW_UTF_8_PRINTABLE 0x00020000
753 #define IS_BASE_DUAL(b) ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC)
756 #define IS_BASE_PORT(b) (((b)==BASE_PT_UDP||(b)==BASE_PT_TCP||(b)==BASE_PT_DCCP||(b)==BASE_PT_SCTP))
795 #define HFILL -1, 0, HF_REF_TYPE_NONE, -1, NULL
797 #define HFILL_INIT(hf) \
798 (hf).hfinfo.id = -1; \
799 (hf).hfinfo.parent = 0; \
800 (hf).hfinfo.ref_type = HF_REF_TYPE_NONE; \
801 (hf).hfinfo.same_name_prev_id = -1; \
802 (hf).hfinfo.same_name_next = NULL;
842 guint crumb_bit_offset;
843 guint8 crumb_bit_length;
856 #define FI_HIDDEN 0x00000001
859 #define FI_GENERATED 0x00000002
861 #define FI_URL 0x00000004
864 #define FI_LITTLE_ENDIAN 0x00000008
866 #define FI_BIG_ENDIAN 0x00000010
868 #define FI_BITS_OFFSET(n) (((n) & 7) << 5)
871 #define FI_BITS_SIZE(n) (((n) & 63) << 8)
873 #define FI_VARINT 0x00004000
876 #define FI_GET_FLAG(fi, flag) ((fi) ? ((fi)->flags & (flag)) : 0)
878 #define FI_SET_FLAG(fi, flag) \
881 (fi)->flags = (fi)->flags | (flag); \
884 #define FI_RESET_FLAG(fi, flag) \
887 (fi)->flags = (fi)->flags & ~(flag); \
890 #define FI_GET_BITS_OFFSET(fi) (FI_GET_FLAG(fi, FI_BITS_OFFSET(7)) >> 5)
891 #define FI_GET_BITS_SIZE(fi) (FI_GET_FLAG(fi, FI_BITS_SIZE(63)) >> 8)
896 GHashTable *interesting_hfids;
898 gboolean fake_protocols;
926 #define PI_SEVERITY_MASK 0x00F00000
928 #define PI_COMMENT 0x00100000
930 #define PI_CHAT 0x00200000
932 #define PI_NOTE 0x00400000
934 #define PI_WARN 0x00600000
936 #define PI_ERROR 0x00800000
939 #define PI_GROUP_MASK 0xFF000000
941 #define PI_CHECKSUM 0x01000000
943 #define PI_SEQUENCE 0x02000000
945 #define PI_RESPONSE_CODE 0x03000000
947 #define PI_REQUEST_CODE 0x04000000
949 #define PI_UNDECODED 0x05000000
951 #define PI_REASSEMBLE 0x06000000
953 #define PI_MALFORMED 0x07000000
955 #define PI_DEBUG 0x08000000
957 #define PI_PROTOCOL 0x09000000
959 #define PI_SECURITY 0x0a000000
961 #define PI_COMMENTS_GROUP 0x0b000000
963 #define PI_DECRYPTION 0x0c000000
965 #define PI_ASSUMPTION 0x0d000000
967 #define PI_DEPRECATED 0x0e000000
969 #define PI_RECEIVE 0x0f000000
971 #define PI_INTERFACE 0x10000000
973 #define PI_DISSECTOR_BUG 0x11000000
981 #define PNODE_FINFO(proto_node) ((proto_node)->finfo)
984 #define PITEM_FINFO(proto_item) PNODE_FINFO(proto_item)
987 #define PTREE_FINFO(proto_tree) PNODE_FINFO(proto_tree)
990 #define PTREE_DATA(proto_tree) ((proto_tree)->tree_data)
993 #define PNODE_POOL(proto_node) ((proto_node)->tree_data->pinfo->pool)
1000 static inline gboolean proto_item_is_hidden(
proto_item *ti) {
1006 #define PROTO_ITEM_IS_HIDDEN(ti) proto_item_is_hidden((ti))
1012 static inline void proto_item_set_hidden(
proto_item *ti) {
1017 #define PROTO_ITEM_SET_HIDDEN(ti) proto_item_set_hidden((ti))
1022 static inline void proto_item_set_visible(
proto_item *ti) {
1027 #define PROTO_ITEM_SET_VISIBLE(ti) proto_item_set_visible((ti))
1033 static inline gboolean proto_item_is_generated(
proto_item *ti) {
1039 #define PROTO_ITEM_IS_GENERATED(ti) proto_item_is_generated((ti))
1044 static inline void proto_item_set_generated(
proto_item *ti) {
1049 #define PROTO_ITEM_SET_GENERATED(ti) proto_item_set_generated((ti))
1056 static inline gboolean proto_item_is_url(
proto_item *ti) {
1062 #define PROTO_ITEM_IS_URL(ti) proto_item_is_url((ti))
1067 static inline void proto_item_set_url(
proto_item *ti) {
1072 #define PROTO_ITEM_SET_URL(ti) proto_item_set_url((ti))
1074 typedef void (*proto_tree_foreach_func)(
proto_node *,
void *);
1075 typedef bool (*proto_tree_traverse_func)(
proto_node *,
void *);
1077 WS_DLL_PUBLIC
void proto_tree_children_foreach(
proto_tree *tree,
1078 proto_tree_foreach_func func, gpointer data);
1081 void (*register_protoinfo)(void);
1082 void (*register_handoff)(void);
1090 GSList *register_all_plugin_handoffs_list, register_cb cb,
void *client_data);
1216 WS_DLL_PUBLIC gboolean
1283 const gint start, gint length, const guint encoding);
1287 const gint start, gint length, const guint encoding);
1303 const gint start, gint length, const guint encoding, gint *lenretval);
1307 const gint start, gint length, const guint encoding, gint *lenretval);
1342 const gint start, gint length, const guint encoding, gint32 *retval);
1346 const gint start, gint length, const guint encoding, gint64 *retval);
1350 const gint start, gint length, const guint encoding, guint32 *retval);
1354 const gint start, gint length, const guint encoding, guint64 *retval);
1358 const gint start, gint length, const guint encoding, guint64 *retval, gint *lenretval);
1362 const gint start, gint length, const guint encoding,
bool *retval);
1366 const gint start, gint length, const guint encoding, ws_in4_addr *retval);
1384 const gint start, gint length, const guint encoding,
ws_in6_addr *retval);
1402 const gint start, gint length, const guint encoding, guint8 *retval);
1419 const gint start, gint length,
1420 const guint encoding, gfloat *retval);
1437 const gint start, gint length,
1438 const guint encoding, gdouble *retval);
1471 tvbuff_t *tvb, const gint start, gint length, const guint encoding,
1503 const gint start, gint length, const guint encoding,
1529 const gint start, gint length, const guint encoding,
1552 const gint start, gint length, const guint encoding,
1573 const gint start, gint length, const guint encoding,
1586 ...) G_GNUC_PRINTF(5,6);
1598 gint length, const
char *format, va_list ap) G_GNUC_PRINTF(5, 0);
1625 proto_item **tree_item, const
char *format, ...) G_GNUC_PRINTF(7,8);
1646 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1659 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1671 gint length, const guint8* start_ptr);
1685 gint length, const guint8 *start_ptr, gint ptr_length);
1722 const gint start, gint length, const guint encoding,
1723 GByteArray *retval, gint *endoff, gint *err);
1739 gint start, gint length, const guint8* start_ptr, const
char *format,
1740 ...) G_GNUC_PRINTF(7,8);
1755 gint length, const guint8* start_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1767 gint length, const
nstime_t* value_ptr);
1801 const gint start, gint length, const guint encoding,
1802 nstime_t *retval, gint *endoff, gint *err);
1819 gint start, gint length,
nstime_t* value_ptr, const
char *format, ...)
1836 gint length,
nstime_t* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1848 gint length, guint32 value);
1864 gint start, gint length, guint32 value, const
char *format, ...)
1880 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1892 gint length, ws_in4_addr value);
1908 gint start, gint length, ws_in4_addr value, const
char *format, ...)
1924 gint length, ws_in4_addr value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1952 gint start, gint length, const
ws_in6_addr *value_ptr, const
char *format,
1953 ...) G_GNUC_PRINTF(7,8);
1968 gint length, const
ws_in6_addr *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1980 gint length, const guint8* value);
1996 gint start, gint length, const guint8* value, const
char *format, ...)
2012 gint length, const guint8* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2024 gint length, const
e_guid_t *value_ptr);
2040 gint start, gint length, const
e_guid_t *value_ptr, const
char *format,
2041 ...) G_GNUC_PRINTF(7,8);
2056 gint length, const
e_guid_t *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2068 gint length, const guint8* value_ptr);
2084 gint start, gint length, const guint8* value_ptr, const
char *format,
2085 ...) G_GNUC_PRINTF(7,8);
2100 gint length, const guint8* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2123 gint length, const
char* value);
2139 gint start, gint length, const
char* value, const
char *format, ...)
2156 gint length, const
char* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2168 gint length, guint64 value);
2184 tvbuff_t *tvb, gint start, gint length, guint64 value,
2185 const
char *format, ...) G_GNUC_PRINTF(7,8);
2200 gint length, guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2212 gint length,
float value);
2228 gint start, gint length,
float value, const
char *format, ...)
2244 gint length,
float value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2256 gint length,
double value);
2272 gint start, gint length,
double value, const
char *format, ...)
2288 gint length,
double value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2300 gint length, guint32 value);
2316 gint start, gint length, guint32 value, const
char *format, ...)
2333 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2345 gint length, guint64 value);
2361 gint start, gint length, guint64 value, const
char *format, ...)
2377 gint length, guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2389 gint length, gint32 value);
2405 gint start, gint length, gint32 value, const
char *format, ...)
2422 gint length, gint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2434 gint length, gint64 value);
2450 gint start, gint length, gint64 value, const
char *format, ...)
2466 gint length, gint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2478 gint length, const guint64 value);
2494 gint start, gint length, const guint64 value, const
char *format, ...)
2510 gint length, const guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2515 int *hf_addr_resolved;
2517 int *hf_oui_resolved;
2544 ...) G_GNUC_PRINTF(2,3);
2587 int parent_proto, enum ftenum field_type);
2719 WS_DLL_PUBLIC
int proto_get_data_protocol(
void *cookie);
2720 WS_DLL_PUBLIC
int proto_get_next_protocol(
void **cookie);
2721 WS_DLL_PUBLIC
header_field_info *proto_get_first_protocol_field(const
int proto_id,
void **cookie);
2722 WS_DLL_PUBLIC
header_field_info *proto_get_next_protocol_field(const
int proto_id,
void **cookie);
2795 gpointer user_data);
2815 bool *is_ip,
bool *is_tcp,
bool *is_udp,
bool *is_sctp,
2816 bool *is_tls,
bool *is_rtp,
bool *is_lte_rlc);
2930 #ifndef g_ptr_array_len
2931 #define g_ptr_array_len(a) ((a)?(a)->len:0)
2943 WS_DLL_PUBLIC gboolean
2965 WS_DLL_PUBLIC gchar*
2989 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding);
3015 const int hf_hdr,
const gint ett,
int *
const *fields,
3016 const guint encoding, guint64 *retval);
3043 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3073 const int hf_hdr,
const gint ett,
int *
const *fields,
3074 const guint encoding,
const int flags, guint64 *retval);
3097 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value);
3124 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value,
const int flags);
3142 const int len,
int *
const *fields,
const guint encoding);
3161 const int len,
int *
const *fields,
const guint encoding, guint64 *retval);
3179 const int len,
int *
const *fields,
const guint64 value);
3205 const int hf_hdr,
const gint ett,
int *
const *fields,
struct expert_field* exp,
const guint encoding);
3221 const char *name,
const char *fallback,
3222 const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3224 #define BMT_NO_FLAGS 0x00
3225 #define BMT_NO_APPEND 0x01
3226 #define BMT_NO_INT 0x02
3227 #define BMT_NO_FALSE 0x04
3228 #define BMT_NO_TFS 0x08
3241 const gint no_of_bits,
const guint encoding);
3260 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint64 *return_value);
3277 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint16 crumb_index);
3291 const guint bit_offset,
const gint no_of_bits, guint64 *return_value,
const guint encoding);
3307 const guint bit_offset,
const gint no_of_bits, guint32 value,
const guint encoding,
3308 const char *format, ...)
3325 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3326 const
char *format, ...)
3344 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3345 const
char *format, ...)
3363 const guint bit_offset, const gint no_of_bits, gint32 value, const guint encoding,
3364 const
char *format, ...)
3382 const guint bit_offset, const gint no_of_bits, gint64 value, const guint encoding,
3383 const
char *format, ...)
3401 const guint bit_offset, const gint no_of_bits,
float value, const guint encoding,
3402 const
char *format, ...)
3416 const guint bit_offset, const gint no_of_chars);
3427 const guint bit_offset, const gint no_of_chars);
3448 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3449 packet_info *pinfo, guint32 computed_checksum, const guint encoding, const guint flags);
3470 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3471 packet_info *pinfo, const uint8_t *computed_checksum,
size_t checksum_len, const guint flags);
3475 PROTO_CHECKSUM_E_BAD = 0,
3476 PROTO_CHECKSUM_E_GOOD,
3477 PROTO_CHECKSUM_E_UNVERIFIED,
3478 PROTO_CHECKSUM_E_NOT_PRESENT,
3479 PROTO_CHECKSUM_E_ILLEGAL
3480 } proto_checksum_enum_e;
3482 #define PROTO_CHECKSUM_NO_FLAGS 0x00
3483 #define PROTO_CHECKSUM_VERIFY 0x01
3484 #define PROTO_CHECKSUM_GENERATED 0x02
3485 #define PROTO_CHECKSUM_IN_CKSUM 0x04
3486 #define PROTO_CHECKSUM_ZERO 0x08
3487 #define PROTO_CHECKSUM_NOT_PRESENT 0x10
3489 WS_DLL_PUBLIC
const value_string proto_checksum_vals[];
3494 WS_DLL_PUBLIC guchar
3501 WS_DLL_PUBLIC guchar
3516 gchar *expr,
const int size );
3529 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:5135
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:13328
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:11136
WS_DLL_PUBLIC gboolean proto_tracking_interesting_fields(const proto_tree *tree)
Definition: proto.c:11191
WS_DLL_PUBLIC proto_tree * proto_tree_get_root(proto_tree *tree)
Definition: proto.c:7953
#define ITEM_LABEL_LENGTH
Definition: proto.h:59
WS_DLL_PUBLIC const char * proto_field_display_to_string(int field_display)
Definition: proto.c:8946
WS_DLL_PUBLIC const char * proto_registrar_get_abbrev(const int n)
Definition: proto.c:11109
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:8446
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:4555
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:9828
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled_by_default(const protocol_t *protocol)
Definition: proto.c:8555
WS_DLL_PUBLIC void proto_item_set_end(proto_item *pi, tvbuff_t *tvb, gint end)
Definition: proto.c:7720
#define FI_URL
Definition: proto.h:861
WS_DLL_PUBLIC gchar * proto_list_layers(const packet_info *pinfo)
Definition: proto.c:8511
WS_DLL_PUBLIC gboolean tree_expanded(int tree_type)
Definition: proto.c:13960
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:3827
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:7740
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:8347
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:8371
WS_DLL_PUBLIC gboolean proto_is_pino(const protocol_t *protocol)
Definition: proto.c:8534
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:4233
WS_DLL_PUBLIC protocol_t * find_protocol_by_id(const int proto_id)
Definition: proto.c:8326
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:12816
WS_DLL_PUBLIC void proto_register_field_array(const int parent, hf_register_info *hf, const int num_records)
Definition: proto.c:8671
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:12747
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:11381
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:758
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:6241
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:5885
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:4721
WS_DLL_PUBLIC gboolean proto_registrar_dump_fieldcount(void)
Definition: proto.c:11683
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:11118
#define FI_RESET_FLAG(fi, flag)
Definition: proto.h:884
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:8010
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:12844
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:13855
WS_DLL_PUBLIC char * proto_construct_match_selected_string(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12320
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:5315
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:4117
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:8145
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:3958
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:5212
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:12735
WS_DLL_PUBLIC void proto_registrar_dump_values(void)
Definition: proto.c:11468
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:13149
WS_DLL_PUBLIC void proto_item_set_bits_offset_len(proto_item *ti, int bits_offset, int bits_len)
Definition: proto.c:7751
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:6072
#define FI_GET_FLAG(fi, flag)
Definition: proto.h:876
proto_node proto_item
Definition: proto.h:916
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:8405
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:8486
WS_DLL_PUBLIC proto_tree * proto_item_add_subtree(proto_item *pi, const gint idx) G_GNUC_WARN_UNUSED_RESULT
Definition: proto.c:7866
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:11127
proto_tree * proto_tree_create_root(struct _packet_info *pinfo)
Definition: proto.c:7772
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:5430
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:856
WS_DLL_PUBLIC void proto_deregister_field(const int parent, gint hf_id)
Definition: proto.c:8705
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:12782
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:12873
WS_DLL_PUBLIC proto_tree * proto_item_get_subtree(proto_item *pi)
Definition: proto.c:7884
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:5792
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:12970
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:11268
WS_DLL_PUBLIC proto_item * proto_item_get_parent(const proto_item *pi)
Definition: proto.c:7896
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:4746
WS_DLL_PUBLIC void tree_expanded_set(int tree_type, gboolean value)
Definition: proto.c:13970
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:11178
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:3866
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach(const protocol_t *protocol, GFunc func, gpointer user_data)
Definition: proto.c:8437
WS_DLL_PUBLIC void proto_add_deregistered_data(void *data)
Definition: proto.c:8735
field_display_e
Definition: proto.h:685
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:4036
void(* prefix_initializer_t)(const char *match)
Definition: proto.h:2608
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:12857
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:4977
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:5044
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:8566
void proto_cleanup(void)
Definition: proto.c:725
gboolean proto_deregister_protocol(const char *short_name)
Definition: proto.c:8204
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name(const int proto_id)
Definition: proto.c:8413
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:12807
WS_DLL_PUBLIC gboolean proto_registrar_dump_field_completions(char *prefix)
Definition: proto.c:12064
WS_DLL_PUBLIC int proto_item_fill_display_label(field_info *fi, gchar *display_label_str, const int label_str_size)
Definition: proto.c:6888
WS_DLL_PUBLIC guchar proto_check_field_name_lower(const gchar *field_name)
Definition: proto.c:13954
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:4245
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled(const protocol_t *protocol)
Definition: proto.c:8541
void proto_add_heuristic_dissector(protocol_t *protocol, const char *short_name)
Definition: proto.c:8423
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:13358
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:4107
WS_DLL_PUBLIC void proto_registrar_dump_fields(void)
Definition: proto.c:11953
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:8264
WS_DLL_PUBLIC GPtrArray * proto_find_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:11249
WS_DLL_PUBLIC void proto_tree_move_item(proto_tree *tree, proto_item *fixed_item, proto_item *item_to_move)
Definition: proto.c:7963
gint proto_registrar_get_length(const int n)
Definition: proto.c:11149
const gchar * proto_custom_set(proto_tree *tree, GSList *field_id, gint occurrence, gchar *result, gchar *expr, const int size)
Definition: proto.c:7166
proto_node proto_tree
Definition: proto.h:914
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:4324
WS_DLL_PUBLIC const char * proto_registrar_get_name(const int n)
Definition: proto.c:11100
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:12709
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:6167
WS_DLL_PUBLIC field_info * proto_find_field_from_offset(proto_tree *tree, guint offset, tvbuff_t *tvb)
Definition: proto.c:11342
WS_DLL_PUBLIC void proto_disable_by_default(const int proto_id)
Definition: proto.c:8579
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:13692
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:7387
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:3997
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:13948
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:7695
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:8357
WS_DLL_PUBLIC void proto_set_cant_toggle(const int proto_id)
Definition: proto.c:8650
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:8075
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:13758
WS_DLL_PUBLIC void proto_registrar_dump_protocols(void)
Definition: proto.c:11405
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:12895
WS_DLL_PUBLIC gboolean proto_can_match_selected(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12308
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:12947
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:11295
WS_DLL_PUBLIC const char * proto_get_protocol_name(const int proto_id)
Definition: proto.c:8385
WS_DLL_PUBLIC char * proto_item_get_display_repr(wmem_allocator_t *scope, proto_item *pi)
Definition: proto.c:7760
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:4912
gboolean proto_check_for_protocol_or_field(const proto_tree *tree, const int id)
Definition: proto.c:11160
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:12129
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:4845
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:4359
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:13720
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:5662
WS_DLL_PUBLIC void proto_reenable_all(void)
Definition: proto.c:8632
WS_DLL_PUBLIC void proto_register_subtree_array(gint *const *indices, const int num_indices)
Definition: proto.c:9692
WS_DLL_PUBLIC void proto_disable_all(void)
Definition: proto.c:8602
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:5977
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:8591
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:2921
#define PITEM_FINFO(proto_item)
Definition: proto.h:984
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:7939
WS_DLL_PUBLIC void proto_free_deregistered_fields(void)
Definition: proto.c:8897
WS_DLL_PUBLIC proto_item * proto_tree_get_parent(proto_tree *tree)
Definition: proto.c:7932
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:3230
WS_DLL_PUBLIC const char * proto_get_protocol_short_name(const protocol_t *protocol)
Definition: proto.c:8397
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:5727
#define FI_GENERATED
Definition: proto.h:859
#define FI_SET_FLAG(fi, flag)
Definition: proto.h:878
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:4427
WS_DLL_PUBLIC int proto_get_id(const protocol_t *protocol)
Definition: proto.c:8341
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:5501
WS_DLL_PUBLIC void proto_register_alias(const int proto_id, const char *alias_name)
Definition: proto.c:8246
WS_DLL_PUBLIC void proto_registrar_dump_elastic(const gchar *filter)
Definition: proto.c:11791
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:8751
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:7918
void proto_add_deregistered_slice(gsize block_size, gpointer mem_block)
Definition: proto.c:8741
@ HF_REF_TYPE_INDIRECT
Definition: proto.h:760
@ HF_REF_TYPE_NONE
Definition: proto.h:759
@ HF_REF_TYPE_DIRECT
Definition: proto.h:761
@ HF_REF_TYPE_PRINT
Definition: proto.h:762
@ ABSOLUTE_TIME_DOY_UTC
Definition: proto.h:718
@ BASE_PT_UDP
Definition: proto.h:707
@ BASE_HEX_DEC
Definition: proto.h:693
@ BASE_HEX
Definition: proto.h:690
@ ABSOLUTE_TIME_NTP_UTC
Definition: proto.h:719
@ BASE_EXP
Definition: proto.h:695
@ ABSOLUTE_TIME_UTC
Definition: proto.h:717
@ BASE_DEC
Definition: proto.h:689
@ ABSOLUTE_TIME_UNIX
Definition: proto.h:720
@ BASE_PT_TCP
Definition: proto.h:708
@ BASE_DEC_HEX
Definition: proto.h:692
@ BASE_OUI
Definition: proto.h:713
@ SEP_COLON
Definition: proto.h:700
@ BASE_PT_SCTP
Definition: proto.h:710
@ BASE_NETMASK
Definition: proto.h:704
@ ABSOLUTE_TIME_LOCAL
Definition: proto.h:716
@ BASE_PT_DCCP
Definition: proto.h:709
@ BASE_STR_WSP
Definition: proto.h:723
@ BASE_NONE
Definition: proto.h:686
@ SEP_DOT
Definition: proto.h:698
@ SEP_DASH
Definition: proto.h:699
@ SEP_SPACE
Definition: proto.h:701
@ BASE_OCT
Definition: proto.h:691
@ BASE_CUSTOM
Definition: proto.h:694
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:822
guint32 flags
Definition: proto.h:823
gint appendix_start
Definition: proto.h:820
tvbuff_t * ds_tvb
Definition: proto.h:825
int proto_layer_num
Definition: proto.h:828
int total_layer_num
Definition: proto.h:827
gint length
Definition: proto.h:819
const header_field_info * hfinfo
Definition: proto.h:817
gint start
Definition: proto.h:818
item_label_t * rep
Definition: proto.h:824
gint appendix_length
Definition: proto.h:821
int * p_id
Definition: proto.h:806
header_field_info hfinfo
Definition: proto.h:807
Definition: tvbuff-int.h:35