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))
788 #define HFILL -1, 0, HF_REF_TYPE_NONE, -1, NULL
790 #define HFILL_INIT(hf) \
791 (hf).hfinfo.id = -1; \
792 (hf).hfinfo.parent = 0; \
793 (hf).hfinfo.ref_type = HF_REF_TYPE_NONE; \
794 (hf).hfinfo.same_name_prev_id = -1; \
795 (hf).hfinfo.same_name_next = NULL;
835 guint crumb_bit_offset;
836 guint8 crumb_bit_length;
849 #define FI_HIDDEN 0x00000001
852 #define FI_GENERATED 0x00000002
854 #define FI_URL 0x00000004
857 #define FI_LITTLE_ENDIAN 0x00000008
859 #define FI_BIG_ENDIAN 0x00000010
861 #define FI_BITS_OFFSET(n) (((n) & 7) << 5)
864 #define FI_BITS_SIZE(n) (((n) & 63) << 8)
866 #define FI_VARINT 0x00004000
869 #define FI_GET_FLAG(fi, flag) ((fi) ? ((fi)->flags & (flag)) : 0)
871 #define FI_SET_FLAG(fi, flag) \
874 (fi)->flags = (fi)->flags | (flag); \
877 #define FI_RESET_FLAG(fi, flag) \
880 (fi)->flags = (fi)->flags & ~(flag); \
883 #define FI_GET_BITS_OFFSET(fi) (FI_GET_FLAG(fi, FI_BITS_OFFSET(7)) >> 5)
884 #define FI_GET_BITS_SIZE(fi) (FI_GET_FLAG(fi, FI_BITS_SIZE(63)) >> 8)
889 GHashTable *interesting_hfids;
891 gboolean fake_protocols;
919 #define PI_SEVERITY_MASK 0x00F00000
921 #define PI_COMMENT 0x00100000
923 #define PI_CHAT 0x00200000
925 #define PI_NOTE 0x00400000
927 #define PI_WARN 0x00600000
929 #define PI_ERROR 0x00800000
932 #define PI_GROUP_MASK 0xFF000000
934 #define PI_CHECKSUM 0x01000000
936 #define PI_SEQUENCE 0x02000000
938 #define PI_RESPONSE_CODE 0x03000000
940 #define PI_REQUEST_CODE 0x04000000
942 #define PI_UNDECODED 0x05000000
944 #define PI_REASSEMBLE 0x06000000
946 #define PI_MALFORMED 0x07000000
948 #define PI_DEBUG 0x08000000
950 #define PI_PROTOCOL 0x09000000
952 #define PI_SECURITY 0x0a000000
954 #define PI_COMMENTS_GROUP 0x0b000000
956 #define PI_DECRYPTION 0x0c000000
958 #define PI_ASSUMPTION 0x0d000000
960 #define PI_DEPRECATED 0x0e000000
968 #define PNODE_FINFO(proto_node) ((proto_node)->finfo)
971 #define PITEM_FINFO(proto_item) PNODE_FINFO(proto_item)
974 #define PTREE_FINFO(proto_tree) PNODE_FINFO(proto_tree)
977 #define PTREE_DATA(proto_tree) ((proto_tree)->tree_data)
980 #define PNODE_POOL(proto_node) ((proto_node)->tree_data->pinfo->pool)
987 static inline gboolean proto_item_is_hidden(
proto_item *ti) {
993 #define PROTO_ITEM_IS_HIDDEN(ti) proto_item_is_hidden((ti))
999 static inline void proto_item_set_hidden(
proto_item *ti) {
1004 #define PROTO_ITEM_SET_HIDDEN(ti) proto_item_set_hidden((ti))
1009 static inline void proto_item_set_visible(
proto_item *ti) {
1014 #define PROTO_ITEM_SET_VISIBLE(ti) proto_item_set_visible((ti))
1020 static inline gboolean proto_item_is_generated(
proto_item *ti) {
1026 #define PROTO_ITEM_IS_GENERATED(ti) proto_item_is_generated((ti))
1031 static inline void proto_item_set_generated(
proto_item *ti) {
1036 #define PROTO_ITEM_SET_GENERATED(ti) proto_item_set_generated((ti))
1043 static inline gboolean proto_item_is_url(
proto_item *ti) {
1049 #define PROTO_ITEM_IS_URL(ti) proto_item_is_url((ti))
1054 static inline void proto_item_set_url(
proto_item *ti) {
1059 #define PROTO_ITEM_SET_URL(ti) proto_item_set_url((ti))
1061 typedef void (*proto_tree_foreach_func)(
proto_node *, gpointer);
1062 typedef gboolean (*proto_tree_traverse_func)(
proto_node *, gpointer);
1064 WS_DLL_PUBLIC
void proto_tree_children_foreach(
proto_tree *tree,
1065 proto_tree_foreach_func func, gpointer data);
1068 void (*register_protoinfo)(void);
1069 void (*register_handoff)(void);
1077 GSList *register_all_plugin_handoffs_list, register_cb cb,
void *client_data);
1203 WS_DLL_PUBLIC gboolean
1260 const gint start, gint length, const guint encoding);
1264 const gint start, gint length, const guint encoding);
1280 const gint start, gint length, const guint encoding, gint *lenretval);
1284 const gint start, gint length, const guint encoding, gint *lenretval);
1319 const gint start, gint length, const guint encoding, gint32 *retval);
1323 const gint start, gint length, const guint encoding, gint64 *retval);
1327 const gint start, gint length, const guint encoding, guint32 *retval);
1331 const gint start, gint length, const guint encoding, guint64 *retval);
1335 const gint start, gint length, const guint encoding, guint64 *retval, gint *lenretval);
1339 const gint start, gint length, const guint encoding, gboolean *retval);
1343 const gint start, gint length, const guint encoding, ws_in4_addr *retval);
1361 const gint start, gint length, const guint encoding,
ws_in6_addr *retval);
1379 const gint start, gint length, const guint encoding, guint8 *retval);
1396 const gint start, gint length,
1397 const guint encoding, gfloat *retval);
1414 const gint start, gint length,
1415 const guint encoding, gdouble *retval);
1448 tvbuff_t *tvb, const gint start, gint length, const guint encoding,
1480 const gint start, gint length, const guint encoding,
1506 const gint start, gint length, const guint encoding,
1529 const gint start, gint length, const guint encoding,
1550 const gint start, gint length, const guint encoding,
1563 ...) G_GNUC_PRINTF(5,6);
1575 gint length, const
char *format, va_list ap) G_GNUC_PRINTF(5, 0);
1602 proto_item **tree_item, const
char *format, ...) G_GNUC_PRINTF(7,8);
1623 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1636 gint length, const
char *format, ...) G_GNUC_PRINTF(6,7);
1648 gint length, const guint8* start_ptr);
1662 gint length, const guint8 *start_ptr, gint ptr_length);
1699 const gint start, gint length, const guint encoding,
1700 GByteArray *retval, gint *endoff, gint *err);
1716 gint start, gint length, const guint8* start_ptr, const
char *format,
1717 ...) G_GNUC_PRINTF(7,8);
1732 gint length, const guint8* start_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1744 gint length, const
nstime_t* value_ptr);
1778 const gint start, gint length, const guint encoding,
1779 nstime_t *retval, gint *endoff, gint *err);
1796 gint start, gint length,
nstime_t* value_ptr, const
char *format, ...)
1813 gint length,
nstime_t* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1825 gint length, guint32 value);
1841 gint start, gint length, guint32 value, const
char *format, ...)
1857 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1869 gint length, ws_in4_addr value);
1885 gint start, gint length, ws_in4_addr value, const
char *format, ...)
1901 gint length, ws_in4_addr value, const
char *format, ...) G_GNUC_PRINTF(7,8);
1929 gint start, gint length, const
ws_in6_addr *value_ptr, const
char *format,
1930 ...) G_GNUC_PRINTF(7,8);
1945 gint length, const
ws_in6_addr *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
1957 gint length, const guint8* value);
1973 gint start, gint length, const guint8* value, const
char *format, ...)
1989 gint length, const guint8* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2001 gint length, const
e_guid_t *value_ptr);
2017 gint start, gint length, const
e_guid_t *value_ptr, const
char *format,
2018 ...) G_GNUC_PRINTF(7,8);
2033 gint length, const
e_guid_t *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2045 gint length, const guint8* value_ptr);
2061 gint start, gint length, const guint8* value_ptr, const
char *format,
2062 ...) G_GNUC_PRINTF(7,8);
2077 gint length, const guint8* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2100 gint length, const
char* value);
2116 gint start, gint length, const
char* value, const
char *format, ...)
2133 gint length, const
char* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2145 gint length, guint32 value);
2161 tvbuff_t *tvb, gint start, gint length, guint32 value,
2162 const
char *format, ...) G_GNUC_PRINTF(7,8);
2177 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2189 gint length,
float value);
2205 gint start, gint length,
float value, const
char *format, ...)
2221 gint length,
float value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2233 gint length,
double value);
2249 gint start, gint length,
double value, const
char *format, ...)
2265 gint length,
double value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2277 gint length, guint32 value);
2293 gint start, gint length, guint32 value, const
char *format, ...)
2310 gint length, guint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2322 gint length, guint64 value);
2338 gint start, gint length, guint64 value, const
char *format, ...)
2354 gint length, guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2366 gint length, gint32 value);
2382 gint start, gint length, gint32 value, const
char *format, ...)
2399 gint length, gint32 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2411 gint length, gint64 value);
2427 gint start, gint length, gint64 value, const
char *format, ...)
2443 gint length, gint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2455 gint length, const guint64 value);
2471 gint start, gint length, const guint64 value, const
char *format, ...)
2487 gint length, const guint64 value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2492 int *hf_addr_resolved;
2494 int *hf_oui_resolved;
2521 ...) G_GNUC_PRINTF(2,3);
2564 int parent_proto, enum ftenum field_type);
2696 WS_DLL_PUBLIC
int proto_get_data_protocol(
void *cookie);
2697 WS_DLL_PUBLIC
int proto_get_next_protocol(
void **cookie);
2698 WS_DLL_PUBLIC
header_field_info *proto_get_first_protocol_field(const
int proto_id,
void **cookie);
2699 WS_DLL_PUBLIC
header_field_info *proto_get_next_protocol_field(const
int proto_id,
void **cookie);
2772 gpointer user_data);
2792 gboolean *is_ip, gboolean *is_tcp, gboolean *is_udp, gboolean *is_sctp,
2793 gboolean *is_tls, gboolean *is_rtp, gboolean *is_lte_rlc);
2907 #ifndef g_ptr_array_len
2908 #define g_ptr_array_len(a) ((a)?(a)->len:0)
2920 WS_DLL_PUBLIC gboolean
2942 WS_DLL_PUBLIC gchar*
2966 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding);
2992 const int hf_hdr,
const gint ett,
int *
const *fields,
2993 const guint encoding, guint64 *retval);
3020 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3050 const int hf_hdr,
const gint ett,
int *
const *fields,
3051 const guint encoding,
const int flags, guint64 *retval);
3074 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value);
3101 const int hf_hdr,
const gint ett,
int *
const *fields,
const guint64 value,
const int flags);
3119 const int len,
int *
const *fields,
const guint encoding);
3138 const int len,
int *
const *fields,
const guint encoding, guint64 *retval);
3156 const int len,
int *
const *fields,
const guint64 value);
3182 const int hf_hdr,
const gint ett,
int *
const *fields,
struct expert_field* exp,
const guint encoding);
3198 const char *name,
const char *fallback,
3199 const gint ett,
int *
const *fields,
const guint encoding,
const int flags);
3201 #define BMT_NO_FLAGS 0x00
3202 #define BMT_NO_APPEND 0x01
3203 #define BMT_NO_INT 0x02
3204 #define BMT_NO_FALSE 0x04
3205 #define BMT_NO_TFS 0x08
3218 const gint no_of_bits,
const guint encoding);
3237 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint64 *return_value);
3254 const guint bit_offset,
const crumb_spec_t *crumb_spec, guint16 crumb_index);
3268 const guint bit_offset,
const gint no_of_bits, guint64 *return_value,
const guint encoding);
3284 const guint bit_offset,
const gint no_of_bits, guint32 value,
const guint encoding,
3285 const char *format, ...)
3302 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3303 const
char *format, ...)
3321 const guint bit_offset, const gint no_of_bits, guint32 value, const guint encoding,
3322 const
char *format, ...)
3340 const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding,
3341 const
char *format, ...)
3359 const guint bit_offset, const gint no_of_bits, gint32 value, const guint encoding,
3360 const
char *format, ...)
3378 const guint bit_offset, const gint no_of_bits, gint64 value, const guint encoding,
3379 const
char *format, ...)
3397 const guint bit_offset, const gint no_of_bits,
float value, const guint encoding,
3398 const
char *format, ...)
3412 const guint bit_offset, const gint no_of_chars);
3423 const guint bit_offset, const gint no_of_chars);
3444 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3445 packet_info *pinfo, guint32 computed_checksum, const guint encoding, const guint flags);
3466 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3467 packet_info *pinfo, const uint8_t *computed_checksum,
size_t checksum_len, const guint flags);
3471 PROTO_CHECKSUM_E_BAD = 0,
3472 PROTO_CHECKSUM_E_GOOD,
3473 PROTO_CHECKSUM_E_UNVERIFIED,
3474 PROTO_CHECKSUM_E_NOT_PRESENT,
3475 PROTO_CHECKSUM_E_ILLEGAL
3476 } proto_checksum_enum_e;
3478 #define PROTO_CHECKSUM_NO_FLAGS 0x00
3479 #define PROTO_CHECKSUM_VERIFY 0x01
3480 #define PROTO_CHECKSUM_GENERATED 0x02
3481 #define PROTO_CHECKSUM_IN_CKSUM 0x04
3482 #define PROTO_CHECKSUM_ZERO 0x08
3483 #define PROTO_CHECKSUM_NOT_PRESENT 0x10
3485 WS_DLL_PUBLIC
const value_string proto_checksum_vals[];
3490 WS_DLL_PUBLIC guchar
3497 WS_DLL_PUBLIC guchar
3512 gchar *expr,
const int size );
3525 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:5036
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:13075
WS_DLL_PUBLIC void proto_get_frame_protocols(const wmem_list_t *layers, gboolean *is_ip, gboolean *is_tcp, gboolean *is_udp, gboolean *is_sctp, gboolean *is_tls, gboolean *is_rtp, gboolean *is_lte_rlc)
Definition: proto.c:8204
WS_DLL_PUBLIC gboolean proto_registrar_is_protocol(const int n)
Definition: proto.c:10883
WS_DLL_PUBLIC gboolean proto_tracking_interesting_fields(const proto_tree *tree)
Definition: proto.c:10938
WS_DLL_PUBLIC proto_tree * proto_tree_get_root(proto_tree *tree)
Definition: proto.c:7711
#define ITEM_LABEL_LENGTH
Definition: proto.h:59
WS_DLL_PUBLIC const char * proto_field_display_to_string(int field_display)
Definition: proto.c:8692
WS_DLL_PUBLIC const char * proto_registrar_get_abbrev(const int n)
Definition: proto.c:10856
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:4458
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:9571
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item 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 gboolean proto_is_protocol_enabled_by_default(const protocol_t *protocol)
Definition: proto.c:8311
WS_DLL_PUBLIC void proto_item_set_end(proto_item *pi, tvbuff_t *tvb, gint end)
Definition: proto.c:7511
#define FI_URL
Definition: proto.h:854
WS_DLL_PUBLIC gchar * proto_list_layers(const packet_info *pinfo)
Definition: proto.c:8269
WS_DLL_PUBLIC gboolean tree_expanded(int tree_type)
Definition: proto.c:13729
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:3730
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:7530
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:8105
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 * proto_tree_add_boolean_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format,...) G_GNUC_PRINTF(7
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_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:864
WS_DLL_PUBLIC int proto_get_id_by_short_name(const gchar *short_name)
Definition: proto.c:8129
WS_DLL_PUBLIC gboolean proto_is_pino(const protocol_t *protocol)
Definition: proto.c:8292
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:4136
WS_DLL_PUBLIC protocol_t * find_protocol_by_id(const int proto_id)
Definition: proto.c:8084
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:12563
WS_DLL_PUBLIC void proto_register_field_array(const int parent, hf_register_info *hf, const int num_records)
Definition: proto.c:8417
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:12494
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:11128
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:6161
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:5805
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:4624
WS_DLL_PUBLIC gboolean proto_registrar_dump_fieldcount(void)
Definition: proto.c:11430
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:10865
#define FI_RESET_FLAG(fi, flag)
Definition: proto.h:877
WS_DLL_PUBLIC void proto_initialize_all_prefixes(void)
Definition: proto.c:976
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:7768
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:1060
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:12591
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:13624
WS_DLL_PUBLIC char * proto_construct_match_selected_string(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12067
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:5216
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item 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:13461
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:4020
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:7903
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:3861
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:1428
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:5113
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:12482
WS_DLL_PUBLIC void proto_registrar_dump_values(void)
Definition: proto.c:11215
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:12896
WS_DLL_PUBLIC void proto_item_set_bits_offset_len(proto_item *ti, int bits_offset, int bits_len)
Definition: proto.c:7541
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:5992
#define FI_GET_FLAG(fi, flag)
Definition: proto.h:869
proto_node proto_item
Definition: proto.h:909
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:8163
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:8244
WS_DLL_PUBLIC proto_tree * proto_item_add_subtree(proto_item *pi, const gint idx) G_GNUC_WARN_UNUSED_RESULT
Definition: proto.c:7624
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:987
WS_DLL_PUBLIC header_field_info * proto_registrar_get_byalias(const char *alias_name)
Definition: proto.c:1029
WS_DLL_PUBLIC int proto_registrar_get_parent(const int n)
Definition: proto.c:10874
proto_tree * proto_tree_create_root(struct _packet_info *pinfo)
Definition: proto.c:7562
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:5331
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, guint32 value)
Definition: proto.c:5402
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:849
WS_DLL_PUBLIC void proto_deregister_field(const int parent, gint hf_id)
Definition: proto.c:8451
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:12529
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:12620
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, guint32 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC proto_tree * proto_item_get_subtree(proto_item *pi)
Definition: proto.c:7642
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:5712
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:12717
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:11015
WS_DLL_PUBLIC proto_item * proto_item_get_parent(const proto_item *pi)
Definition: proto.c:7654
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:4649
WS_DLL_PUBLIC void tree_expanded_set(int tree_type, gboolean value)
Definition: proto.c:13739
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:1498
WS_DLL_PUBLIC GPtrArray * proto_get_finfo_ptr_array(const proto_tree *tree, const int hfindex)
Definition: proto.c:10925
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:3769
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach(const protocol_t *protocol, GFunc func, gpointer user_data)
Definition: proto.c:8195
WS_DLL_PUBLIC void proto_add_deregistered_data(void *data)
Definition: proto.c:8481
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:3939
void(* prefix_initializer_t)(const char *match)
Definition: proto.h:2585
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:12604
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:4880
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:4945
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:8321
void proto_cleanup(void)
Definition: proto.c:714
gboolean proto_deregister_protocol(const char *short_name)
Definition: proto.c:7962
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name(const int proto_id)
Definition: proto.c:8171
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:12554
WS_DLL_PUBLIC gboolean proto_registrar_dump_field_completions(char *prefix)
Definition: proto.c:11811
WS_DLL_PUBLIC int proto_item_fill_display_label(field_info *fi, gchar *display_label_str, const int label_str_size)
Definition: proto.c:6802
WS_DLL_PUBLIC guchar proto_check_field_name_lower(const gchar *field_name)
Definition: proto.c:13723
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:4148
WS_DLL_PUBLIC gboolean proto_is_protocol_enabled(const protocol_t *protocol)
Definition: proto.c:8298
void proto_add_heuristic_dissector(protocol_t *protocol, const char *short_name)
Definition: proto.c:8181
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:13105
WS_DLL_PUBLIC void proto_tree_free(proto_tree *tree)
Definition: proto.c:828
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:4010
WS_DLL_PUBLIC void proto_registrar_dump_fields(void)
Definition: proto.c:11700
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:8022
WS_DLL_PUBLIC GPtrArray * proto_find_finfo(proto_tree *tree, const int hfindex)
Definition: proto.c:10996
WS_DLL_PUBLIC void proto_tree_move_item(proto_tree *tree, proto_item *fixed_item, proto_item *item_to_move)
Definition: proto.c:7721
gint proto_registrar_get_length(const int n)
Definition: proto.c:10896
const gchar * proto_custom_set(proto_tree *tree, GSList *field_id, gint occurrence, gchar *result, gchar *expr, const int size)
Definition: proto.c:7076
proto_node proto_tree
Definition: proto.h:907
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:4227
WS_DLL_PUBLIC const char * proto_registrar_get_name(const int n)
Definition: proto.c:10847
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:12456
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:6087
WS_DLL_PUBLIC field_info * proto_find_field_from_offset(proto_tree *tree, guint offset, tvbuff_t *tvb)
Definition: proto.c:11089
WS_DLL_PUBLIC void proto_disable_by_default(const int proto_id)
Definition: proto.c:8334
WS_DLL_PUBLIC void proto_item_set_text(proto_item *pi, const char *format,...) G_GNUC_PRINTF(2
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item 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 gboolean proto_tree_set_visible(proto_tree *tree, gboolean visible)
Definition: proto.c:854
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
gchar * proto_custom_get_filter(struct epan_dissect *edt, GSList *field_id, gint occurrence)
Definition: proto.c:7227
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:3900
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:13717
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item 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 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:7483
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:8115
WS_DLL_PUBLIC void proto_set_cant_toggle(const int proto_id)
Definition: proto.c:8396
WS_DLL_PUBLIC void proto_register_prefix(const char *prefix, prefix_initializer_t initializer)
Definition: proto.c:959
WS_DLL_PUBLIC int proto_register_protocol(const char *name, const char *short_name, const char *filter_name)
Definition: proto.c:7833
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:13527
WS_DLL_PUBLIC void proto_registrar_dump_protocols(void)
Definition: proto.c:11152
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:12642
WS_DLL_PUBLIC gboolean proto_can_match_selected(field_info *finfo, struct epan_dissect *edt)
Definition: proto.c:12055
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, guint32 value, const char *format,...) G_GNUC_PRINTF(7
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:12694
WS_DLL_PUBLIC header_field_info * proto_registrar_get_nth(guint hfindex)
Definition: proto.c:901
WS_DLL_PUBLIC GPtrArray * proto_all_finfos(proto_tree *tree)
Definition: proto.c:11042
WS_DLL_PUBLIC const char * proto_get_protocol_name(const int proto_id)
Definition: proto.c:8143
WS_DLL_PUBLIC char * proto_item_get_display_repr(wmem_allocator_t *scope, proto_item *pi)
Definition: proto.c:7550
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:4815
gboolean proto_check_for_protocol_or_field(const proto_tree *tree, const int id)
Definition: proto.c:10907
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:11876
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:4748
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:4262
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:13489
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:5582
WS_DLL_PUBLIC void proto_reenable_all(void)
Definition: proto.c:8379
WS_DLL_PUBLIC void proto_register_subtree_array(gint *const *indices, const int num_indices)
Definition: proto.c:9435
WS_DLL_PUBLIC void proto_disable_all(void)
Definition: proto.c:8357
WS_DLL_PUBLIC gboolean proto_field_is_referenced(proto_tree *tree, int proto_id)
Definition: proto.c:877
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:5897
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:8346
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item proto_item proto_item * proto_tree_add_boolean_bits_format_value64(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const guint bit_offset, const gint no_of_bits, guint64 value, const guint encoding, const char *format,...) G_GNUC_PRINTF(8
WS_DLL_PUBLIC proto_item WS_DLL_PUBLIC proto_item * proto_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:2898
#define PITEM_FINFO(proto_item)
Definition: proto.h:971
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_tree * proto_tree_get_parent_tree(proto_tree *tree)
Definition: proto.c:7697
WS_DLL_PUBLIC void proto_free_deregistered_fields(void)
Definition: proto.c:8643
WS_DLL_PUBLIC proto_item * proto_tree_get_parent(proto_tree *tree)
Definition: proto.c:7690
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:3133
WS_DLL_PUBLIC const char * proto_get_protocol_short_name(const protocol_t *protocol)
Definition: proto.c:8155
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:5647
#define FI_GENERATED
Definition: proto.h:852
#define FI_SET_FLAG(fi, flag)
Definition: proto.h:871
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:4330
WS_DLL_PUBLIC int proto_get_id(const protocol_t *protocol)
Definition: proto.c:8099
WS_DLL_PUBLIC void proto_register_alias(const int proto_id, const char *alias_name)
Definition: proto.c:8004
WS_DLL_PUBLIC void proto_registrar_dump_elastic(const gchar *filter)
Definition: proto.c:11538
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:8497
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:1479
WS_DLL_PUBLIC proto_item * proto_item_get_parent_nth(proto_item *pi, int gen)
Definition: proto.c:7676
void proto_add_deregistered_slice(gsize block_size, gpointer mem_block)
Definition: proto.c:8487
@ HF_REF_TYPE_INDIRECT
Definition: proto.h:754
@ HF_REF_TYPE_NONE
Definition: proto.h:753
@ HF_REF_TYPE_DIRECT
Definition: proto.h:755
@ 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_ipv6.h:21
Definition: epan_dissect.h:28
gint tree_type
Definition: proto.h:815
guint32 flags
Definition: proto.h:816
gint appendix_start
Definition: proto.h:813
tvbuff_t * ds_tvb
Definition: proto.h:818
int proto_layer_num
Definition: proto.h:821
int total_layer_num
Definition: proto.h:820
gint length
Definition: proto.h:812
gint start
Definition: proto.h:811
item_label_t * rep
Definition: proto.h:817
header_field_info * hfinfo
Definition: proto.h:810
gint appendix_length
Definition: proto.h:814
int * p_id
Definition: proto.h:799
header_field_info hfinfo
Definition: proto.h:800
Definition: tvbuff-int.h:35