29#include "ws_symbol_export.h"
30#include "ws_attributes.h"
45WS_DLL_PUBLIC
int hf_text_only;
48#define ITEM_LABEL_LENGTH 240
50#define ITEM_LABEL_UNKNOWN_STR "Unknown"
55#define cast_same(type, x) (0 ? (type)0 : (x))
58#define VALS(x) (cast_same(const struct _value_string*, (x)))
61#define VALS64(x) (cast_same(const struct _val64_string*, (x)))
64#define VALS_EXT_PTR(x) (cast_same(value_string_ext*, (x)))
67#define TIME_VALS(x) (cast_same(const struct _time_value_string*, (x)))
70#define TFS(x) (cast_same(const struct true_false_string*, (x)))
73#define UNS(x) (cast_same(const struct unit_name_string*, (x)))
75typedef void (*custom_fmt_func_t)(
char *, uint32_t);
77typedef void (*custom_fmt_func_64_t)(
char *, uint64_t);
79typedef void (*custom_fmt_func_double_t)(
char *, double);
88#define CF_FUNC(x) ((const void *) (size_t) (x))
92#define RVALS(x) (cast_same(const struct _range_string*, (x)))
95#define FRAMENUM_TYPE(x) GINT_TO_POINTER(x)
137WS_DLL_PUBLIC WS_NORETURN
141#define REPORT_DISSECTOR_BUG(...) \
142 proto_report_dissector_bug(__VA_ARGS__)
149#define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression) \
150 ; __analysis_assume(expression);
152#define __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
166#define __DISSECTOR_ASSERT_STRINGIFY(s) # s
168#define __DISSECTOR_ASSERT(expression, file, lineno) \
169 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"%s\"", \
170 file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression)))
172#define __DISSECTOR_ASSERT_HINT(expression, file, lineno, hint) \
173 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"%s\" (%s)", \
174 file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression), hint))
176#define DISSECTOR_ASSERT(expression) \
177 ((void) ((expression) ? (void)0 : \
178 __DISSECTOR_ASSERT (expression, __FILE__, __LINE__))) \
179 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
188#define DISSECTOR_ASSERT_HINT(expression, hint) \
189 ((void) ((expression) ? (void)0 : \
190 __DISSECTOR_ASSERT_HINT (expression, __FILE__, __LINE__, hint))) \
191 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(expression)
196#define DISSECTOR_ASSERT(expression) \
197{ if(!(expression)) _asm { int 3}; }
208#define DISSECTOR_ASSERT_NOT_REACHED() \
209 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion \"DISSECTOR_ASSERT_NOT_REACHED\"", \
231#define __DISSECTOR_ASSERT_CMPINT(a, op, b, type, fmt) \
232 (REPORT_DISSECTOR_BUG("%s:%u: failed assertion " #a " " #op " " #b " (" fmt " " #op " " fmt ")", \
233 __FILE__, __LINE__, (type)a, (type)b))
235#define DISSECTOR_ASSERT_CMPINT(a, op, b) \
236 ((void) ((a op b) ? (void)0 : \
237 __DISSECTOR_ASSERT_CMPINT (a, op, b, int64_t, "%" PRId64))) \
238 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
245#define DISSECTOR_ASSERT_CMPUINT(a, op, b) \
246 ((void) ((a op b) ? (void)0 : \
247 __DISSECTOR_ASSERT_CMPINT (a, op, b, uint64_t, "%" PRIu64))) \
248 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
253#define DISSECTOR_ASSERT_CMPUINTHEX(a, op, b) \
254 ((void) ((a op b) ? (void)0 : \
255 __DISSECTOR_ASSERT_CMPINT (a, op, b, uint64_t, "0x%" PRIX64))) \
256 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(a op b)
266#define __DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t) \
267 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type "#t, \
268 __FILE__, __LINE__, (hfinfo)->abbrev))
270#define DISSECTOR_ASSERT_FIELD_TYPE(hfinfo, t) \
271 ((void) (((hfinfo)->type == t) ? (void)0 : \
272 __DISSECTOR_ASSERT_FIELD_TYPE ((hfinfo), t))) \
273 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT((hfinfo)->type == t)
275#define DISSECTOR_ASSERT_FIELD_TYPE_IS_INTEGRAL(hfinfo) \
276 ((void) ((FT_IS_INTEGER((hfinfo)->type)) ? (void)0 : \
277 REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_CHAR or an FT_{U}INTn type", \
278 __FILE__, __LINE__, (hfinfo)->abbrev))) \
279 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(FT_IS_INTEGER((hfinfo)->type))
281#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo) \
282 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_STRING, FT_STRINGZ, FT_STRINGZPAD, FT_STRINGZTRUNC, or FT_UINT_STRING", \
283 __FILE__, __LINE__, (hfinfo)->abbrev))
285#define DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING(hfinfo) \
286 ((void) (FT_IS_STRING((hfinfo)->type) ? (void)0 : \
287 __DISSECTOR_ASSERT_FIELD_TYPE_IS_STRING ((hfinfo)))) \
288 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT(FT_IS_STRING((hfinfo)->type))
290#define __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo) \
291 (REPORT_DISSECTOR_BUG("%s:%u: field %s is not of type FT_ABSOLUTE_TIME or FT_RELATIVE_TIME", \
292 __FILE__, __LINE__, (hfinfo)->abbrev))
294#define DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(hfinfo) \
295 ((void) (((hfinfo)->type == FT_ABSOLUTE_TIME || \
296 (hfinfo)->type == FT_RELATIVE_TIME) ? (void)0 : \
297 __DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME ((hfinfo)))) \
298 __DISSECTOR_ASSERT_STATIC_ANALYSIS_HINT((hfinfo)->type == FT_ABSOLUTE_TIME || \
299 (hfinfo)->type == FT_RELATIVE_TIME)
352#define ENC_BIG_ENDIAN 0x00000000
353#define ENC_LITTLE_ENDIAN 0x80000000
355#if G_BYTE_ORDER == G_LITTLE_ENDIAN
356 #define ENC_HOST_ENDIAN ENC_LITTLE_ENDIAN
357 #define ENC_ANTI_HOST_ENDIAN ENC_BIG_ENDIAN
359 #define ENC_HOST_ENDIAN ENC_BIG_ENDIAN
360 #define ENC_ANTI_HOST_ENDIAN ENC_LITTLE_ENDIAN
370#define ENC_NA 0x00000000
400#define ENC_CHARENCODING_MASK 0x0000FFFE
401#define ENC_ASCII 0x00000000
402#define ENC_ISO_646_IRV ENC_ASCII
403#define ENC_UTF_8 0x00000002
404#define ENC_UTF_16 0x00000004
405#define ENC_UCS_2 0x00000006
406#define ENC_UCS_4 0x00000008
407#define ENC_ISO_8859_1 0x0000000A
408#define ENC_ISO_8859_2 0x0000000C
409#define ENC_ISO_8859_3 0x0000000E
410#define ENC_ISO_8859_4 0x00000010
411#define ENC_ISO_8859_5 0x00000012
412#define ENC_ISO_8859_6 0x00000014
413#define ENC_ISO_8859_7 0x00000016
414#define ENC_ISO_8859_8 0x00000018
415#define ENC_ISO_8859_9 0x0000001A
416#define ENC_ISO_8859_10 0x0000001C
417#define ENC_ISO_8859_11 0x0000001E
419#define ENC_ISO_8859_13 0x00000022
420#define ENC_ISO_8859_14 0x00000024
421#define ENC_ISO_8859_15 0x00000026
422#define ENC_ISO_8859_16 0x00000028
423#define ENC_WINDOWS_1250 0x0000002A
424#define ENC_3GPP_TS_23_038_7BITS_PACKED 0x0000002C
425#define ENC_3GPP_TS_23_038_7BITS ENC_3GPP_TS_23_038_7BITS_PACKED
426#define ENC_EBCDIC 0x0000002E
427#define ENC_MAC_ROMAN 0x00000030
428#define ENC_CP437 0x00000032
429#define ENC_ASCII_7BITS 0x00000034
430#define ENC_T61 0x00000036
431#define ENC_EBCDIC_CP037 0x00000038
432#define ENC_WINDOWS_1252 0x0000003A
433#define ENC_WINDOWS_1251 0x0000003C
434#define ENC_CP855 0x0000003E
435#define ENC_CP866 0x00000040
436#define ENC_ISO_646_BASIC 0x00000042
437#define ENC_BCD_DIGITS_0_9 0x00000044
438#define ENC_KEYPAD_ABC_TBCD 0x00000046
439#define ENC_KEYPAD_BC_TBCD 0x00000048
440#define ENC_3GPP_TS_23_038_7BITS_UNPACKED 0x0000004C
441#define ENC_ETSI_TS_102_221_ANNEX_A 0x0000004E
442#define ENC_GB18030 0x00000050
443#define ENC_EUC_KR 0x00000052
444#define ENC_APN_STR 0x00000054
445#define ENC_DECT_STANDARD_8BITS 0x00000056
446#define ENC_DECT_STANDARD_4BITS_TBCD 0x00000058
447#define ENC_EBCDIC_CP500 0x00000060
479#define ENC_ZIGBEE 0x40000000
489#define ENC_BOM 0x20000000
499#define ENC_STR_NUM 0x01000000
501#define ENC_STR_HEX 0x02000000
503#define ENC_STR_DEC 0x04000000
505#define ENC_STRING 0x07000000
507#define ENC_STR_MASK 0x0000FFFE
522#define ENC_NUM_PREF 0x00200000
534#define ENC_SEP_NONE 0x00010000
535#define ENC_SEP_COLON 0x00020000
536#define ENC_SEP_DASH 0x00040000
537#define ENC_SEP_DOT 0x00080000
538#define ENC_SEP_SPACE 0x00100000
540#define ENC_SEP_MASK 0x001F0000
546#define ENC_BCD_ODD_NUM_DIG 0x00010000
547#define ENC_BCD_SKIP_FIRST 0x00020000
636#define ENC_TIME_SECS_NSECS 0x00000000
637#define ENC_TIME_TIMESPEC 0x00000000
638#define ENC_TIME_NTP 0x00000002
639#define ENC_TIME_TOD 0x00000004
640#define ENC_TIME_RTPS 0x00000008
641#define ENC_TIME_NTP_BASE_ZERO 0x00000008
642#define ENC_TIME_SECS_USECS 0x00000010
643#define ENC_TIME_TIMEVAL 0x00000010
644#define ENC_TIME_SECS 0x00000012
645#define ENC_TIME_MSECS 0x00000014
646#define ENC_TIME_SECS_NTP 0x00000018
647#define ENC_TIME_RFC_3971 0x00000020
648#define ENC_TIME_MSEC_NTP 0x00000022
649#define ENC_TIME_MIP6 0x00000024
650#define ENC_TIME_MP4_FILE_SECS 0x00000026
651#define ENC_TIME_CLASSIC_MAC_OS_SECS 0x00000026
652#define ENC_TIME_NSECS 0x00000028
653#define ENC_TIME_USECS 0x00000030
654#define ENC_TIME_ZBEE_ZCL 0x00000032
655#define ENC_TIME_WINDOWS 0x00000034
664#define ENC_ISO_8601_DATE 0x00010000
665#define ENC_ISO_8601_TIME 0x00020000
666#define ENC_ISO_8601_DATE_TIME 0x00030000
667#define ENC_IMF_DATE_TIME 0x00040000
668#define ENC_RFC_822 0x00040000
669#define ENC_RFC_1123 0x00040000
670#define ENC_ISO_8601_DATE_TIME_BASIC 0x00100000
672#define ENC_STR_TIME_MASK 0x001F0000
681#define ENC_VARINT_PROTOBUF 0x00000002
686#define ENC_VARINT_QUIC 0x00000004
691#define ENC_VARINT_ZIGZAG 0x00000008
696#define ENC_VARINT_SDNV 0x00000010
698#define ENC_VARINT_MASK (ENC_VARINT_PROTOBUF|ENC_VARINT_QUIC|ENC_VARINT_ZIGZAG|ENC_VARINT_SDNV)
706#define FIELD_DISPLAY_E_MASK 0xFF
752#define FIELD_DISPLAY(d) ((d) & FIELD_DISPLAY_E_MASK)
754#define FIELD_DISPLAY_IS_ABSOLUTE_TIME(d) \
755 (FIELD_DISPLAY(d) >= ABSOLUTE_TIME_LOCAL && FIELD_DISPLAY(d) <= ABSOLUTE_TIME_UNIX)
759#define BASE_RANGE_STRING 0x00000100
760#define BASE_EXT_STRING 0x00000200
761#define BASE_VAL64_STRING 0x00000400
763#define BASE_ALLOW_ZERO 0x00000800
765#define BASE_UNIT_STRING 0x00001000
767#define BASE_NO_DISPLAY_VALUE 0x00002000
770#define BASE_PROTOCOL_INFO 0x00004000
772#define BASE_SPECIAL_VALS 0x00008000
774#define BASE_SHOW_ASCII_PRINTABLE 0x00010000
776#define BASE_SHOW_UTF_8_PRINTABLE 0x00020000
779#define IS_BASE_DUAL(b) ((b)==BASE_DEC_HEX||(b)==BASE_HEX_DEC)
782#define IS_BASE_PORT(b) (((b)==BASE_PT_UDP||(b)==BASE_PT_TCP||(b)==BASE_PT_DCCP||(b)==BASE_PT_SCTP))
824#define HFILL -1, 0, HF_REF_TYPE_NONE, -1, NULL
826#define HFILL_INIT(hf) \
827 (hf).hfinfo.id = -1; \
828 (hf).hfinfo.parent = 0; \
829 (hf).hfinfo.ref_type = HF_REF_TYPE_NONE; \
830 (hf).hfinfo.same_name_prev_id = -1; \
831 (hf).hfinfo.same_name_next = NULL;
888#define FI_HIDDEN 0x00000001
891#define FI_GENERATED 0x00000002
893#define FI_URL 0x00000004
896#define FI_LITTLE_ENDIAN 0x00000008
898#define FI_BIG_ENDIAN 0x00000010
900#define FI_BITS_OFFSET(n) (((n) & 63) << 5)
903#define FI_BITS_SIZE(n) (((n) & 63) << 12)
905#define FI_VARINT 0x00040000
908#define FI_GET_FLAG(fi, flag) ((fi) ? ((fi)->flags & (flag)) : 0)
910#define FI_SET_FLAG(fi, flag) \
913 (fi)->flags = (fi)->flags | (flag); \
916#define FI_RESET_FLAG(fi, flag) \
919 (fi)->flags = (fi)->flags & ~(flag); \
922#define FI_GET_BITS_OFFSET(fi) (FI_GET_FLAG(fi, FI_BITS_OFFSET(63)) >> 5)
923#define FI_GET_BITS_SIZE(fi) (FI_GET_FLAG(fi, FI_BITS_SIZE(63)) >> 12)
928 GHashTable *interesting_hfids;
933 tvbuff_t *idle_count_ds_tvb;
935 unsigned start_idle_count;
962#define PI_SEVERITY_MASK 0x00F00000
964#define PI_COMMENT 0x00100000
966#define PI_CHAT 0x00200000
968#define PI_NOTE 0x00400000
970#define PI_WARN 0x00600000
972#define PI_ERROR 0x00800000
975#define PI_GROUP_MASK 0xFF000000
977#define PI_CHECKSUM 0x01000000
979#define PI_SEQUENCE 0x02000000
981#define PI_RESPONSE_CODE 0x03000000
983#define PI_REQUEST_CODE 0x04000000
985#define PI_UNDECODED 0x05000000
987#define PI_REASSEMBLE 0x06000000
989#define PI_MALFORMED 0x07000000
991#define PI_DEBUG 0x08000000
993#define PI_PROTOCOL 0x09000000
995#define PI_SECURITY 0x0a000000
997#define PI_COMMENTS_GROUP 0x0b000000
999#define PI_DECRYPTION 0x0c000000
1001#define PI_ASSUMPTION 0x0d000000
1003#define PI_DEPRECATED 0x0e000000
1005#define PI_RECEIVE 0x0f000000
1007#define PI_INTERFACE 0x10000000
1009#define PI_DISSECTOR_BUG 0x11000000
1017#define PNODE_FINFO(proto_node) ((proto_node)->finfo)
1020#define PITEM_FINFO(proto_item) PNODE_FINFO(proto_item)
1023#define PTREE_FINFO(proto_tree) PNODE_FINFO(proto_tree)
1026#define PNODE_HFINFO(proto_node) ((proto_node)->hfinfo)
1029#define PITEM_HFINFO(proto_item) PNODE_HFINFO(proto_item)
1032#define PTREE_HFINFO(proto_tree) PNODE_HFINFO(proto_tree)
1035#define PTREE_DATA(proto_tree) ((proto_tree)->tree_data)
1038#define PNODE_POOL(proto_node) ((proto_node)->tree_data->pinfo->pool)
1045static inline bool proto_item_is_hidden(
const proto_item *ti) {
1052#define PROTO_ITEM_IS_HIDDEN(ti) proto_item_is_hidden((ti))
1058static inline void proto_item_set_hidden(
proto_item *ti) {
1063#define PROTO_ITEM_SET_HIDDEN(ti) proto_item_set_hidden((ti))
1068static inline void proto_item_set_visible(
proto_item *ti) {
1073#define PROTO_ITEM_SET_VISIBLE(ti) proto_item_set_visible((ti))
1079static inline bool proto_item_is_generated(
const proto_item *ti)
1086#define PROTO_ITEM_IS_GENERATED(ti) proto_item_is_generated((ti))
1091static inline void proto_item_set_generated(
proto_item *ti) {
1096#define PROTO_ITEM_SET_GENERATED(ti) proto_item_set_generated((ti))
1103static inline bool proto_item_is_url(
const proto_item *ti)
1110#define PROTO_ITEM_IS_URL(ti) proto_item_is_url((ti))
1115static inline void proto_item_set_url(
proto_item *ti) {
1120#define PROTO_ITEM_SET_URL(ti) proto_item_set_url((ti))
1198void proto_init(GSList *register_all_plugin_protocols_list,
1199 GSList *register_all_plugin_handoffs_list,
1200 register_entity_func register_func, register_entity_func handoff_func,
1400proto_tree_prime_with_hfid(proto_tree *tree, const
int hfid);
1408proto_tree_prime_with_hfid_print(proto_tree *tree, const
int hfid);
1441WS_DLL_PUBLIC
void proto_tree_set_appendix(proto_tree *tree, tvbuff_t *tvb,
unsigned start, const
unsigned length);
1455 const
unsigned start,
int length, const
unsigned encoding);
1480 const
unsigned start,
int length, const
unsigned encoding);
1496 const
unsigned start,
int length, const
unsigned encoding,
unsigned *lenretval);
1512 const
unsigned start,
int length, const
unsigned encoding,
unsigned *lenretval);
1547 const
unsigned start,
unsigned length, const
unsigned encoding, int32_t *retval);
1563 const
unsigned start,
unsigned length, const
unsigned encoding, int64_t *retval);
1580 const
unsigned start,
unsigned length, const
unsigned encoding, uint32_t *retval);
1599 const
unsigned start,
unsigned length, const
unsigned encoding, uint32_t *retval);
1615 const
unsigned start,
unsigned length, const
unsigned encoding, uint8_t *retval);
1631 const
unsigned start,
unsigned length, const
unsigned encoding, uint16_t *retval);
1647 const
unsigned start,
unsigned length, const
unsigned encoding, uint64_t *retval);
1674 const
unsigned start,
unsigned length, const
unsigned encoding, uint64_t *retval,
unsigned *lenretval);
1690 const
unsigned start,
unsigned length, const
unsigned encoding,
bool *retval);
1707 const
unsigned start,
unsigned length, const
unsigned encoding,
ws_in4_addr *retval);
1725 const
unsigned start,
unsigned length, const
unsigned encoding,
ws_in6_addr *retval);
1743 const
unsigned start,
unsigned length, const
unsigned encoding, uint8_t *retval);
1760 const
unsigned start,
unsigned length,
1761 const
unsigned encoding,
float *retval);
1778 const
unsigned start,
unsigned length,
1779 const
unsigned encoding,
double *retval);
1812 tvbuff_t *tvb, const
unsigned start,
int length, const
unsigned encoding,
1844 const
unsigned start,
int length, const
unsigned encoding,
1870 const
unsigned start,
int length, const
unsigned encoding,
1893 const
unsigned start,
int length, const
unsigned encoding,
1914 const
unsigned start,
int length, const
unsigned encoding,
1927 ...) G_GNUC_PRINTF(5,6);
1939 unsigned length, const
char *format, va_list ap) G_GNUC_PRINTF(5, 0);
1950WS_DLL_PUBLIC proto_tree *
1964WS_DLL_PUBLIC proto_tree *
1966 proto_item **tree_item, const
char *format, ...) G_GNUC_PRINTF(7,8);
1987 int length, const
char *format, ...) G_GNUC_PRINTF(6,7);
2000 int length, const
char *format, ...) G_GNUC_PRINTF(6,7);
2012 int length, const uint8_t* start_ptr);
2026 int length, const uint8_t *start_ptr,
int ptr_length);
2063 const
unsigned start,
unsigned length, const
unsigned encoding,
2064 GByteArray *retval,
unsigned *endoff,
int *err);
2081 unsigned start,
int length, const uint8_t* start_ptr, const
char *format,
2082 ...) G_GNUC_PRINTF(7,8);
2098 int length, const uint8_t* start_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2110 unsigned length, const
nstime_t* value_ptr);
2144 const
unsigned start, const
unsigned length, const
unsigned encoding,
2145 nstime_t *retval,
unsigned *endoff,
int *err);
2162 unsigned start,
unsigned length,
nstime_t* value_ptr, const
char *format, ...)
2179 unsigned length,
nstime_t* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2191 unsigned length, uint32_t value);
2207 unsigned start,
unsigned length, uint32_t value, const
char *format, ...)
2223 unsigned length, uint32_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2251 unsigned start,
unsigned length,
ws_in4_addr value, const
char *format, ...)
2267 unsigned length,
ws_in4_addr value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2295 unsigned start,
unsigned length, const
ws_in6_addr *value_ptr, const
char *format,
2296 ...) G_GNUC_PRINTF(7,8);
2311 unsigned length, const
ws_in6_addr *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2323 unsigned length, const uint8_t* value);
2339 unsigned start,
unsigned length, const uint8_t* value, const
char *format, ...)
2355 unsigned length, const uint8_t* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2367 unsigned length, const
e_guid_t *value_ptr);
2383 unsigned start,
unsigned length, const
e_guid_t *value_ptr, const
char *format,
2384 ...) G_GNUC_PRINTF(7,8);
2399 unsigned length, const
e_guid_t *value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2411 unsigned length, const uint8_t* value_ptr);
2427 unsigned start,
unsigned length, const uint8_t* value_ptr, const
char *format,
2428 ...) G_GNUC_PRINTF(7,8);
2443 unsigned length, const uint8_t* value_ptr, const
char *format, ...) G_GNUC_PRINTF(7,8);
2466 int length, const
char* value);
2482 unsigned start,
int length, const
char* value, const
char *format, ...)
2499 int length, const
char* value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2511 unsigned length, uint64_t value);
2527 tvbuff_t *tvb,
unsigned start,
unsigned length, uint64_t value,
2528 const
char *format, ...) G_GNUC_PRINTF(7,8);
2543 unsigned length, uint64_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2555 unsigned length,
float value);
2571 unsigned start,
unsigned length,
float value, const
char *format, ...)
2587 unsigned length,
float value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2599 unsigned length,
double value);
2615 unsigned start,
unsigned length,
double value, const
char *format, ...)
2631 unsigned length,
double value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2643 unsigned length, uint32_t value);
2659 unsigned start,
unsigned length, uint32_t value, const
char *format, ...)
2676 unsigned length, uint32_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2688 unsigned length, uint64_t value);
2704 unsigned start,
unsigned length, uint64_t value, const
char *format, ...)
2720 unsigned length, uint64_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2732 unsigned length, int32_t value);
2748 unsigned start,
unsigned length, int32_t value, const
char *format, ...)
2765 unsigned length, int32_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2777 unsigned length, int64_t value);
2793 unsigned start,
unsigned length, int64_t value, const
char *format, ...)
2809 unsigned length, int64_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2821 unsigned length, const uint64_t value);
2837 unsigned start,
unsigned length, const uint64_t value, const
char *format, ...)
2853 unsigned length, const uint64_t value, const
char *format, ...) G_GNUC_PRINTF(7,8);
2858 int *hf_addr_resolved;
2860 int *hf_oui_resolved;
2877 int idx, tvbuff_t *tvb, proto_tree *tree,
unsigned offset);
2887 ...) G_GNUC_PRINTF(2,3);
2940 int parent_proto, enum
ftenum field_type);
3250 bool *is_ip,
bool *is_tcp,
bool *is_udp,
bool *is_sctp,
3251 bool *is_tls,
bool *is_rtp,
bool *is_lte_rlc);
3326WS_DLL_PUBLIC GPtrArray*
proto_find_finfo(proto_tree *tree,
const int hfindex);
3392WS_DLL_PUBLIC
int num_tree_types;
3472 const int hf_hdr,
const int ett,
int *
const *fields,
const unsigned encoding);
3498 const int hf_hdr,
const int ett,
int *
const *fields,
3499 const unsigned encoding, uint64_t *retval);
3526 const int hf_hdr,
const int ett,
int *
const *fields,
const unsigned encoding,
const int flags);
3556 const int hf_hdr,
const int ett,
int *
const *fields,
3557 const unsigned encoding,
const int flags, uint64_t *retval);
3580 const int hf_hdr,
const int ett,
int *
const *fields,
const uint64_t value);
3607 const int hf_hdr,
const int ett,
int *
const *fields,
const uint64_t value,
const int flags);
3625 const unsigned len,
int *
const *fields,
const unsigned encoding);
3644 const unsigned len,
int *
const *fields,
const unsigned encoding, uint64_t *retval);
3662 const unsigned len,
int *
const *fields,
const uint64_t value);
3688 const int hf_hdr,
const int ett,
int *
const *fields,
struct expert_field* exp,
const unsigned encoding);
3704 const char *name,
const char *fallback,
3705 const int ett,
int *
const *fields,
const unsigned encoding,
const int flags);
3707#define BMT_NO_FLAGS 0x00
3708#define BMT_NO_APPEND 0x01
3709#define BMT_NO_INT 0x02
3710#define BMT_NO_FALSE 0x04
3711#define BMT_NO_TFS 0x08
3724 const int no_of_bits,
const unsigned encoding);
3743 const unsigned bit_offset,
const crumb_spec_t *crumb_spec, uint64_t *return_value);
3760 const unsigned bit_offset,
const crumb_spec_t *crumb_spec, uint16_t crumb_index);
3774 const unsigned bit_offset,
const int no_of_bits, uint64_t *return_value,
const unsigned encoding);
3790 const unsigned bit_offset,
const int no_of_bits, uint32_t value,
const unsigned encoding,
3791 const char *format, ...)
3808 const
unsigned bit_offset, const
int no_of_bits, uint64_t value, const
unsigned encoding,
3809 const
char *format, ...)
3827 const
unsigned bit_offset, const
int no_of_bits, uint64_t value, const
unsigned encoding,
3828 const
char *format, ...)
3846 const
unsigned bit_offset, const
int no_of_bits, int32_t value, const
unsigned encoding,
3847 const
char *format, ...)
3865 const
unsigned bit_offset, const
int no_of_bits, int64_t value, const
unsigned encoding,
3866 const
char *format, ...)
3884 const
unsigned bit_offset, const
int no_of_bits,
float value, const
unsigned encoding,
3885 const
char *format, ...)
3899 const
unsigned bit_offset, const
int no_of_chars);
3910 const
unsigned bit_offset, const
int no_of_chars);
3928 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3929 packet_info *pinfo, uint32_t computed_checksum, const
unsigned encoding, const
unsigned flags);
3947 const
int hf_checksum, const
int hf_checksum_status, struct
expert_field* bad_checksum_expert,
3948 packet_info *pinfo, const uint8_t *computed_checksum,
size_t checksum_len, const
unsigned flags);
3962#define PROTO_CHECKSUM_NO_FLAGS 0x00
3963#define PROTO_CHECKSUM_VERIFY 0x01
3964#define PROTO_CHECKSUM_GENERATED 0x02
3965#define PROTO_CHECKSUM_IN_CKSUM 0x04
3966#define PROTO_CHECKSUM_ZERO 0x08
3967#define PROTO_CHECKSUM_NOT_PRESENT 0x10
3977WS_DLL_PUBLIC
unsigned char
3984WS_DLL_PUBLIC
unsigned char
4000 bool display_details,
4002 char *expr,
const int size );
enum ftenum ftenum_t
Convenience typedef for ftenum.
Definition ftypes.h:190
ftenum
Fundamental field value types used throughout the Wireshark dissector framework.
Definition ftypes.h:26
struct _packet_info packet_info
Represents the metadata and indexing information for a single captured frame.
WS_DLL_PUBLIC bool proto_registrar_dump_fieldcount(void)
Definition proto.c:12410
WS_DLL_PUBLIC unsigned char proto_check_field_name_lower(const char *field_name)
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_value(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const uint64_t value)
Definition proto.c:13508
#define ITEM_LABEL_LENGTH
Definition proto.h:48
WS_DLL_PUBLIC const char * proto_get_protocol_name(const int proto_id)
Definition proto.c:8917
proto_item * proto_tree_add_time_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, nstime_t *value_ptr, const char *format,...)
Definition proto.c:5118
proto_item * proto_tree_add_item_ret_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint8_t *retval)
Parse an ethernet address from the buffer and add it to the tree, writing the value to the pointer sp...
Definition proto.c:4222
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:8978
WS_DLL_PUBLIC bool proto_is_protocol_enabled(const protocol_t *protocol)
Definition proto.c:9115
struct _item_label_t item_label_t
void proto_tree_set_appendix(proto_tree *tree, tvbuff_t *tvb, unsigned start, const unsigned length)
Definition proto.c:8528
proto_item * proto_tree_add_guid_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const e_guid_t *value_ptr, const char *format,...)
Definition proto.c:5427
WS_DLL_PUBLIC void proto_tree_add_split_bits_crumb(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const crumb_spec_t *crumb_spec, uint16_t crumb_index)
Definition proto.c:14026
proto_item * proto_tree_add_time_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, const unsigned length, const unsigned encoding, nstime_t *retval, unsigned *endoff, int *err)
Definition proto.c:4803
#define FI_URL
Definition proto.h:893
size_t value_pos
Definition proto.h:842
WS_DLL_PUBLIC bool proto_field_is_referenced(proto_tree *tree, int proto_id)
Definition proto.c:1007
proto_item * proto_tree_add_item_ret_time_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, wmem_allocator_t *scope, char **retval)
Definition proto.c:4472
void proto_register_subtree_array(int *const *indices, const int num_indices)
Definition proto.c:10311
WS_DLL_PUBLIC proto_item * proto_tree_add_bits_item(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, const unsigned encoding)
Definition proto.c:13671
WS_DLL_PUBLIC bool tree_expanded(int tree_type)
Return whether subtrees of a given type are currently expanded.
uint64_t bitmask
Definition proto.h:808
proto_tree * proto_tree_add_subtree_format(proto_tree *tree, tvbuff_t *tvb, unsigned start, int length, int idx, proto_item **tree_item, const char *format,...)
Definition proto.c:1572
struct _protocol protocol_t
Definition proto.h:100
proto_item * proto_tree_add_item_ret_ipv6(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, ws_in6_addr *addr)
Parse an ipv6 address from the buffer and add it to the tree, writing the value to the pointer specif...
Definition proto.c:4183
WS_DLL_PUBLIC proto_item * proto_tree_add_bits_ret_val(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint64_t *return_value, const unsigned encoding)
Definition proto.c:14052
WS_DLL_PUBLIC proto_item * proto_tree_add_split_bits_item_ret_val(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const crumb_spec_t *crumb_spec, uint64_t *return_value)
Definition proto.c:13848
WS_DLL_PUBLIC char * proto_list_layers(const packet_info *pinfo)
Definition proto.c:9043
void proto_deregister_field(const int parent, int hf_id)
Definition proto.c:9285
proto_item * proto_tree_add_uint64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value, const char *format,...)
Definition proto.c:6191
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, int *const *fields, const unsigned encoding, uint64_t *retval)
Definition proto.c:13558
void proto_add_deregistered_slice(size_t block_size, void *mem_block)
Definition proto.c:9348
proto_item * proto_tree_add_double(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, double value)
Definition proto.c:5986
WS_DLL_PUBLIC header_field_info * proto_get_first_protocol_field(const int proto_id, void **cookie)
Begin iterating over all header fields registered to a protocol.
Definition proto.c:8831
int same_name_prev_id
Definition proto.h:815
WS_DLL_PUBLIC int proto_get_id_by_short_name(const char *short_name)
Definition proto.c:8903
proto_item * proto_tree_add_ipv4_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, ws_in4_addr value, const char *format,...)
Definition proto.c:5250
proto_item * proto_tree_add_checksum(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, uint32_t computed_checksum, const unsigned encoding, const unsigned flags)
Definition proto.c:14449
WS_DLL_PUBLIC int proto_get_next_protocol(void **cookie)
Advance the protocol iterator and return the next protocol ID.
Definition proto.c:8817
proto_item * proto_tree_add_bytes_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, GByteArray *retval, unsigned *endoff, int *err)
Definition proto.c:4661
WS_DLL_PUBLIC bool proto_is_pino(const protocol_t *protocol)
Definition proto.c:9079
proto_item * proto_tree_add_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value)
Definition proto.c:5689
proto_item * proto_tree_add_guid(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const e_guid_t *value_ptr)
Definition proto.c:5389
WS_DLL_PUBLIC int proto_get_data_protocol(void *cookie)
Return the protocol ID stored in the current iterator position.
Definition proto.c:8808
proto_item * proto_tree_add_text_valist_internal(proto_tree *tree, tvbuff_t *tvb, unsigned start, unsigned length, const char *format, va_list ap)
Definition proto.c:1536
proto_item * proto_tree_add_int_bits_format_value(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, int32_t value, const unsigned encoding, const char *format,...)
Definition proto.c:14293
proto_item * proto_tree_add_none_format(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned start, int length, const char *format,...)
Definition proto.c:4873
tvbuff_t * ds_tvb
Definition proto.h:856
proto_item * proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value, const char *format,...)
Definition proto.c:6099
proto_item * proto_tree_add_item_ret_boolean(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, bool *retval)
Add an FT_BOOLEAN item to the protocol tree and return its value.
Definition proto.c:4000
proto_item * proto_tree_add_item_ret_double(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, double *retval)
Parse a double from the buffer and add it to the tree, returning the item added and the parsed value ...
Definition proto.c:4091
proto_item * proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const char *value, const char *format,...)
Definition proto.c:5627
const char * proto_registrar_get_name(const int n)
Definition proto.c:11796
proto_item * proto_tree_add_boolean_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value, const char *format,...)
Definition proto.c:5779
void(* register_handoff)(void)
Routine to call to register dissector handoff.
Definition proto.h:1159
WS_DLL_PUBLIC void proto_registrar_dump_elastic(const char *filter)
Definition proto.c:12511
proto_item * proto_tree_add_text_internal(proto_tree *tree, tvbuff_t *tvb, unsigned start, unsigned length, const char *format,...)
Definition proto.c:1510
WS_DLL_PUBLIC void proto_set_decoding(const int proto_id, const bool enabled)
Definition proto.c:9165
WS_DLL_PUBLIC bool proto_name_already_registered(const char *name)
Definition proto.c:8879
void proto_register_field_array(const int parent, hf_register_info *hf, const int num_records)
Definition proto.c:9243
WS_DLL_PUBLIC GPtrArray * proto_find_first_finfo(proto_tree *tree, const int hfindex)
Definition proto.c:11992
int proto_registrar_get_length(const int n)
Definition proto.c:11845
WS_DLL_PUBLIC const char * proto_get_protocol_filter_name(const int proto_id)
Definition proto.c:8945
void(* proto_tree_foreach_func)(proto_node *node, void *data)
Callback type for proto_tree_children_foreach().
Definition proto.h:1127
hf_ref_type
Enum for specifying whether a field is referenced by a filter, and if so, how.
Definition proto.h:787
proto_item * proto_tree_add_item_ret_int(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, int32_t *retval)
Definition proto.c:3408
WS_DLL_PUBLIC const char * proto_get_protocol_long_name(const protocol_t *protocol)
Definition proto.c:8937
WS_DLL_PUBLIC void proto_tree_children_foreach(proto_tree *tree, proto_tree_foreach_func func, void *data)
Invoke a callback for each direct child of a proto_tree node.
Definition proto.c:870
enum ftenum proto_registrar_get_ftype(const int n)
Definition proto.c:11814
proto_item * proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int32_t value, const char *format,...)
Definition proto.c:6282
#define FI_RESET_FLAG(fi, flag)
Definition proto.h:916
WS_DLL_PUBLIC void proto_tree_add_bitmask_list_value(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, int *const *fields, const uint64_t value)
Definition proto.c:13574
void proto_initialize_all_prefixes(void)
Definition proto.c:1106
int proto_layer_num
Definition proto.h:859
WS_DLL_PUBLIC int hfinfo_bitshift(const header_field_info *hfinfo)
Return the number of bits to right-shift a field's bitmask to obtain its least-significant bit positi...
Definition proto.c:11356
proto_item * proto_tree_add_double_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, double value, const char *format,...)
Definition proto.c:6005
proto_item * proto_tree_add_int64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int64_t value, const char *format,...)
Definition proto.c:6405
proto_item * proto_tree_add_uint_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value, const char *format,...)
Definition proto.c:6081
WS_DLL_PUBLIC proto_item * proto_item_get_parent(const proto_item *pi)
Definition proto.c:8431
int proto_registrar_get_id_byname(const char *field_name)
Definition proto.c:1193
proto_item * proto_tree_add_float_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, float value, const char *format,...)
Definition proto.c:5958
int display
Definition proto.h:803
proto_item * proto_tree_add_ts_23_038_7bits_packed_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_chars)
Definition proto.c:14381
header_field_info * proto_registrar_get_byalias(const char *alias_name)
Definition proto.c:1162
struct _mac_hf_list_t mac_hf_list_t
proto_checksum_enum_e
Checksum verification result for a protocol field.
Definition proto.h:3954
WS_DLL_PUBLIC GPtrArray * proto_all_finfos(proto_tree *tree)
Definition proto.c:12022
proto_item * proto_tree_add_oid_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value_ptr, const char *format,...)
Definition proto.c:5504
WS_DLL_PUBLIC void proto_execute_in_directory(const char *dir, proto_execute_in_directory_func func, void *param)
Definition proto.c:831
proto_item * proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const nstime_t *value_ptr)
Definition proto.c:5099
proto_item * proto_tree_add_format_wsp_text(proto_tree *tree, tvbuff_t *tvb, unsigned start, unsigned length)
Definition proto.c:1638
WS_DLL_PUBLIC size_t proto_registrar_get_count(struct proto_registrar_stats *stats)
Definition proto.c:11854
void proto_item_fill_label(const field_info *fi, char *label_str, size_t *value_pos)
Definition proto.c:10477
WS_DLL_PUBLIC void proto_heuristic_dissector_foreach(const protocol_t *protocol, GFunc func, void *user_data)
Definition proto.c:8969
int total_layer_num
Definition proto.h:858
proto_tree * proto_tree_get_parent_tree(proto_tree *tree)
Definition proto.c:8458
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:8677
struct _proto_node proto_node
proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const ws_in6_addr *value_ptr, const char *format,...)
Definition proto.c:5336
WS_DLL_PUBLIC char * proto_construct_match_selected_string(const field_info *finfo, struct epan_dissect *edt)
Definition proto.c:13021
WS_DLL_PUBLIC const char * proto_get_protocol_short_name(const protocol_t *protocol)
Definition proto.c:8929
proto_item * proto_tree_add_item_ret_uint32(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint32_t *retval)
Add an FT_UINT32 item to the protocol tree and return its value.
Definition proto.c:3543
WS_DLL_PUBLIC char * proto_find_undecoded_data(proto_tree *tree, unsigned length)
Definition proto.c:12108
void proto_pre_init(void)
Pre-initialise the proto subsystem memory structures.
Definition proto.c:589
int proto_item_fill_display_label(const field_info *finfo, char *display_label_str, const int label_str_size)
Definition proto.c:7366
WS_DLL_PUBLIC bool proto_is_protocol_enabled_by_default(const protocol_t *protocol)
Definition proto.c:9129
WS_DLL_PUBLIC field_info * proto_find_field_from_offset(proto_tree *tree, unsigned offset, tvbuff_t *tvb)
Definition proto.c:12069
proto_item * proto_tree_add_item_ret_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, wmem_allocator_t *scope, const uint8_t **retval)
Definition proto.c:4332
void(* register_protoinfo)(void)
Routine to call to register protocol information.
Definition proto.h:1154
WS_DLL_PUBLIC void proto_registrar_dump_values(void)
Definition proto.c:12195
void proto_item_set_len(proto_item *pi, const unsigned length)
Definition proto.c:8209
proto_item * proto_tree_add_int64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int64_t value, const char *format,...)
Definition proto.c:6359
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_len(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, const int hf_hdr, const int ett, int *const *fields, struct expert_field *exp, const unsigned encoding)
Definition proto.c:13596
WS_DLL_PUBLIC void tree_expanded_set(int tree_type, bool value)
Set the expansion state for subtrees of a given type.
proto_item * proto_tree_add_item_new_ret_length(proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, unsigned *lenretval)
Definition proto.c:4590
proto_item * proto_tree_add_boolean(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value)
Definition proto.c:5760
unsigned crumb_bit_offset
Definition proto.h:874
void proto_item_set_bits_offset_len(proto_item *ti, int bits_offset, int bits_len)
Definition proto.c:8279
#define FI_GET_FLAG(fi, flag)
Definition proto.h:908
WS_DLL_PUBLIC uint8_t proto_get_layer_num(const packet_info *pinfo, const int proto_id)
Definition proto.c:9066
proto_node proto_item
Definition proto.h:952
proto_item * proto_tree_add_bytes_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const uint8_t *start_ptr, const char *format,...)
Definition proto.c:5030
const void * strings
Definition proto.h:804
proto_item * proto_tree_add_uint64_bits_format_value(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint64_t value, const unsigned encoding, const char *format,...)
Definition proto.c:14238
proto_item * proto_tree_add_item_ret_uint64(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint64_t *retval)
Add an FT_UINT64 item to the protocol tree and return its value.
Definition proto.c:3801
int proto_registrar_get_parent(const int n)
Definition proto.c:11823
proto_item * proto_tree_add_ipxnet(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value)
Definition proto.c:5166
proto_item * proto_tree_add_uint64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value, const char *format,...)
Definition proto.c:6173
WS_DLL_PUBLIC int proto_get_group(const protocol_t *protocol)
Definition proto.c:9085
WS_DLL_PUBLIC header_field_info * proto_get_next_protocol_field(const int proto_id, void **cookie)
Advance the field iterator and return the next header field.
Definition proto.c:8843
WS_DLL_PUBLIC proto_tree * proto_item_add_subtree(proto_item *pi, const int idx) G_GNUC_WARN_UNUSED_RESULT
Definition proto.c:8401
unsigned appendix_length
Definition proto.h:852
proto_item * proto_tree_add_item_new(proto_tree *tree, header_field_info *hfinfo, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding)
Definition proto.c:4555
int proto_register_protocol_and_group(const char *name, const char *short_name, const char *filter_name, protocol_group_t group)
Definition proto.c:8603
proto_item * proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, nstime_t *value_ptr, const char *format,...)
Definition proto.c:5136
header_field_info * proto_registrar_get_nth(unsigned hfindex)
Definition proto.c:1031
void(* proto_execute_in_directory_func)(void *param)
Callback type for a function executed within a specific directory context.
Definition proto.h:1215
#define FI_HIDDEN
Definition proto.h:888
proto_item * proto_tree_add_int64_bits_format_value(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, int64_t value, const unsigned encoding, const char *format,...)
Definition proto.c:14326
WS_DLL_PUBLIC proto_item * proto_item_get_parent_nth(proto_item *pi, int gen)
Definition proto.c:8438
proto_item * proto_tree_add_item_ret_ipv4(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, ws_in4_addr *retval)
Add an FT_IPv4 item to the protocol tree and return its value.
Definition proto.c:4130
uint32_t flags
Definition proto.h:854
WS_DLL_PUBLIC unsigned char proto_check_field_name(const char *field_name)
Check if a given string is a valid protocol field name.
WS_DLL_PUBLIC proto_item * proto_tree_add_debug_text(proto_tree *tree, const char *format,...)
Definition proto.c:1598
proto_item * proto_tree_add_uint(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value)
Definition proto.c:6051
void proto_item_prepend_text(proto_item *pi, const char *format,...)
Definition proto.c:8132
proto_tree * proto_tree_add_subtree(proto_tree *tree, tvbuff_t *tvb, unsigned start, int length, int idx, proto_item **tree_item, const char *text)
Definition proto.c:1564
proto_item * proto_tree_add_guid_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const e_guid_t *value_ptr, const char *format,...)
Definition proto.c:5408
proto_item * proto_tree_add_item_ret_display_string_and_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, wmem_allocator_t *scope, char **retval, unsigned *lenretval)
Definition proto.c:4343
proto_item * proto_tree_add_item_ret_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, unsigned *lenretval)
Add an item to a protocol tree and return the length of the parsed field.
Definition proto.c:4635
const header_field_info * hfinfo
Definition proto.h:848
WS_DLL_PUBLIC GPtrArray * proto_get_finfo_ptr_array(const proto_tree *tree, const int hfindex)
Definition proto.c:11902
proto_item * proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, ws_in4_addr value, const char *format,...)
Definition proto.c:5268
unsigned start
Definition proto.h:849
proto_item * proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value, const char *format,...)
Definition proto.c:5797
void proto_tree_set_fake_protocols(proto_tree *tree, bool fake_protocols)
Definition proto.c:993
proto_item * proto_tree_add_oid_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value_ptr, const char *format,...)
Definition proto.c:5485
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_with_flags_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, const int flags, uint64_t *retval)
Definition proto.c:13448
protocol_group_t
Definition proto.h:110
bool proto_deregister_protocol(const char *short_name)
Definition proto.c:8736
WS_DLL_PUBLIC bool proto_is_frame_protocol(const wmem_list_t *layers, const char *proto_name)
Definition proto.c:9018
size_t protocol_count
Definition proto.h:3083
const char * name
Definition proto.h:800
void proto_add_deregistered_data(void *data)
Definition proto.c:9342
field_display_e
Enum for specifying the display format of a field.
Definition proto.h:711
void proto_item_set_end(proto_item *pi, tvbuff_t *tvb, unsigned end)
Definition proto.c:8231
proto_item * proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value, const char *format,...)
Definition proto.c:5203
proto_item * proto_tree_add_item_ret_string_and_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, wmem_allocator_t *scope, const uint8_t **retval, unsigned *lenretval)
Definition proto.c:4261
proto_item * proto_tree_add_item_ret_uint8(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint8_t *retval)
Add an FT_UINT8 item to the protocol tree and return its value.
Definition proto.c:3551
const char * proto_registrar_get_abbrev(const int n)
Definition proto.c:11805
void(* prefix_initializer_t)(const char *match)
Definition proto.h:2961
proto_item * proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const uint8_t *start_ptr, const char *format,...)
Definition proto.c:5050
proto_item * proto_tree_add_int(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int32_t value)
Definition proto.c:6236
item_label_t * rep
Definition proto.h:855
WS_DLL_PUBLIC proto_item * proto_tree_add_uint_bits_format_value(proto_tree *tree, const int hf_index, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint32_t value, const unsigned encoding, const char *format,...)
Definition proto.c:14205
bool proto_tree_set_visible(proto_tree *tree, bool visible)
Definition proto.c:983
proto_item * proto_tree_add_ipv6(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const ws_in6_addr *value)
Definition proto.c:5298
proto_item * proto_tree_add_float_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, float value, const char *format,...)
Definition proto.c:5940
int * p_id
Definition proto.h:835
size_t value_len
Definition proto.h:843
void proto_cleanup(void)
Release all memory allocated by the proto subsystem.
Definition proto.c:786
proto_item * proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const char *format,...)
Definition proto.c:4933
proto_item * proto_tree_add_item_ret_display_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding, wmem_allocator_t *scope, char **retval)
Definition proto.c:4459
WS_DLL_PUBLIC int proto_get_id_by_filter_name(const char *filter_name)
Definition proto.c:8889
WS_DLL_PUBLIC WS_NORETURN void proto_report_dissector_bug(const char *format,...)
Definition proto.c:1659
bool(* proto_tree_traverse_func)(proto_node *node, void *data)
Callback type for depth-first proto_tree traversal functions.
Definition proto.h:1135
void proto_add_heuristic_dissector(protocol_t *protocol, const char *short_name)
Definition proto.c:8955
WS_DLL_PUBLIC proto_tree * proto_item_get_subtree(proto_item *pi)
Definition proto.c:8419
void proto_tree_free(proto_tree *tree)
Free a protocol tree and all of its nodes.
Definition proto.c:957
hf_ref_type ref_type
Definition proto.h:814
WS_DLL_PUBLIC void proto_registrar_dump_fields(void)
Definition proto.c:12671
WS_DLL_PUBLIC int proto_get_first_protocol(void **cookie)
Begin iterating over all registered protocols.
Definition proto.c:8796
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding)
Definition proto.c:13436
proto_item * proto_tree_add_item_ret_int64(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, int64_t *retval)
Add an FT_INT64 item to the protocol tree and return its value.
Definition proto.c:3866
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_value_with_flags(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const uint64_t value, const int flags)
Definition proto.c:13517
void proto_tree_move_item(proto_tree *tree, proto_item *fixed_item, proto_item *item_to_move)
Definition proto.c:8481
proto_item * proto_tree_add_ascii_7bits_item(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_chars)
Definition proto.c:14409
char * proto_item_get_display_repr(wmem_allocator_t *scope, proto_item *pi)
Definition proto.c:8288
WS_DLL_PUBLIC bool proto_can_match_selected(const field_info *finfo, struct epan_dissect *edt)
Definition proto.c:13009
WS_DLL_PUBLIC GPtrArray * proto_find_finfo(proto_tree *tree, const int hfindex)
Definition proto.c:11973
int parent
Definition proto.h:813
WS_DLL_PUBLIC void proto_disable_by_default(const int proto_id)
Definition proto.c:9153
void proto_init(GSList *register_all_plugin_protocols_list, GSList *register_all_plugin_handoffs_list, register_entity_func register_func, register_entity_func handoff_func, register_cb cb, void *client_data)
Initialise the proto subsystem and run all registration callbacks.
Definition proto.c:616
WS_DLL_PUBLIC void proto_item_set_text(proto_item *pi, const char *format,...)
Definition proto.c:8051
proto_item * proto_tree_add_item_ret_uint(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint32_t *retval)
Add an FT_UINT32 (or compatible uint) item to the protocol tree and return its value as a uint32_t.
Definition proto.c:3473
struct _header_field_info header_field_info
Definition proto.h:795
unsigned proto_item_get_len(const proto_item *pi)
Definition proto.c:8256
proto_item * proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value, const char *format,...)
Definition proto.c:5726
void proto_deregister_all_fields_with_prefix(const int parent, const char *prefix)
Definition proto.c:9316
proto_item * proto_tree_get_parent(proto_tree *tree)
Definition proto.c:8451
proto_item * proto_tree_add_ether_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value, const char *format,...)
Definition proto.c:5708
WS_DLL_PUBLIC void proto_register_plugin(const proto_plugin *plugin)
Register a dissector plugin with the plugin system.
WS_DLL_PUBLIC void proto_set_cant_toggle(const int proto_id)
Definition proto.c:9224
proto_item * proto_tree_add_item_ret_uint16(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint16_t *retval)
Add an FT_UINT16 item to the protocol tree and return its value.
Definition proto.c:3563
WS_DLL_PUBLIC bool proto_tracking_interesting_fields(const proto_tree *tree)
Definition proto.c:11915
void proto_register_prefix(const char *prefix, prefix_initializer_t pi)
Definition proto.c:1089
enum ftenum type
Definition proto.h:802
proto_item * proto_tree_add_format_text(proto_tree *tree, tvbuff_t *tvb, unsigned start, unsigned length)
Definition proto.c:1619
int proto_register_protocol(const char *name, const char *short_name, const char *filter_name)
Definition proto.c:8671
WS_DLL_PUBLIC void proto_registrar_dump_protocols(void)
Definition proto.c:12132
size_t deregistered_count
Definition proto.h:3084
proto_item * proto_tree_add_checksum_bytes(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_checksum, const int hf_checksum_status, struct expert_field *bad_checksum_expert, packet_info *pinfo, const uint8_t *computed_checksum, size_t checksum_len, const unsigned flags)
Definition proto.c:14559
WS_DLL_PUBLIC const char * proto_get_group_name(const protocol_t *protocol)
Definition proto.c:9094
const char * proto_custom_set(proto_tree *tree, GSList *field_id, int occurrence, bool display_details, char *result, char *expr, const int size)
Set the column text for a custom column.
Definition proto.c:7659
bool proto_check_for_protocol_or_field(const proto_tree *tree, const int id)
Definition proto.c:11884
proto_item * proto_tree_add_ipv4(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, ws_in4_addr value)
Definition proto.c:5231
proto_item * proto_tree_add_uint64(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint64_t value)
Definition proto.c:6144
proto_item * proto_tree_add_item_ret_float(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, float *retval)
Parse a float from the buffer and add it to the tree, returning the item added and the parsed value v...
Definition proto.c:4052
proto_item * proto_tree_add_string_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const char *value, const char *format,...)
Definition proto.c:5608
const char * abbrev
Definition proto.h:801
char * proto_custom_get_filter(struct epan_dissect *edt, GSList *field_id, int occurrence)
Construct a display filter string for a custom column.
Definition proto.c:7895
const char * blurb
Definition proto.h:809
proto_tree * proto_tree_create_root(packet_info *pinfo)
Allocate and initialise a new protocol tree root node.
Definition proto.c:8302
size_t same_name_count
Definition proto.h:3085
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_with_flags(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, const int flags)
Definition proto.c:13483
proto_item * proto_tree_add_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const char *value)
Definition proto.c:5569
proto_tree * proto_tree_get_root(proto_tree *tree)
Definition proto.c:8471
proto_item * proto_tree_add_bytes(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int length, const uint8_t *start_ptr)
Definition proto.c:4978
WS_DLL_PUBLIC bool proto_registrar_dump_field_completions(const char *prefix)
Dump all protocol and field abbreviations that start with a given prefix to standard output.
Definition proto.c:12782
WS_DLL_PUBLIC bool proto_can_toggle_protocol(const int proto_id)
Definition proto.c:9140
WS_DLL_PUBLIC void proto_registrar_dump_ftypes(void)
Dump all registered field types and their descriptive names to standard output.
Definition proto.c:12847
proto_item * proto_tree_add_float_bits_format_value(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, float value, const unsigned encoding, const char *format,...)
Definition proto.c:14271
proto_item * proto_tree_add_eui64(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint64_t value)
Definition proto.c:6426
proto_item * proto_tree_add_eui64_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint64_t value, const char *format,...)
Definition proto.c:6463
WS_DLL_PUBLIC protocol_t * find_protocol_by_id(const int proto_id)
Definition proto.c:8858
WS_DLL_PUBLIC void proto_reenable_all(void)
Definition proto.c:9206
bool proto_registrar_is_protocol(const int n)
Definition proto.c:11832
WS_DLL_PUBLIC void proto_disable_all(void)
Definition proto.c:9176
uint8_t crumb_bit_length
Definition proto.h:875
proto_item * proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, double value, const char *format,...)
Definition proto.c:6023
proto_item * proto_tree_add_int_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int32_t value, const char *format,...)
Definition proto.c:6264
proto_item * proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, int length, const unsigned encoding)
Append a decoded field to a protocol tree using a registered header-field index.
Definition proto.c:4576
header_field_info * proto_registrar_get_byname(const char *field_name)
Definition proto.c:1120
void proto_tree_reset(proto_tree *tree)
Reset a protocol tree to its initial empty state, retaining the root node and its associated tree dat...
Definition proto.c:928
#define PITEM_FINFO(proto_item)
Definition proto.h:1020
WS_DLL_PUBLIC const char * proto_field_display_to_string(int field_display)
Convert a field display value to its string representation.
Definition proto.c:9553
void proto_free_deregistered_fields(void)
Definition proto.c:9504
WS_DLL_PUBLIC void proto_tree_add_bitmask_list(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, int *const *fields, const unsigned encoding)
Definition proto.c:13545
int id
Definition proto.h:812
#define FI_GENERATED
Definition proto.h:891
proto_item * proto_tree_add_item_ret_varint(proto_tree *tree, int hfindex, tvbuff_t *tvb, const unsigned start, unsigned length, const unsigned encoding, uint64_t *retval, unsigned *lenretval)
Add a variable-length integer item to the protocol tree and return its value and consumed byte count.
Definition proto.c:3926
bool proto_is_bytes_pino(const protocol_t *protocol)
Definition proto.c:9102
unsigned length
Definition proto.h:850
#define FI_SET_FLAG(fi, flag)
Definition proto.h:910
WS_DLL_PUBLIC proto_item * proto_tree_add_mac48_detail(const mac_hf_list_t *list_specific, const mac_hf_list_t *list_generic, int idx, tvbuff_t *tvb, proto_tree *tree, unsigned offset)
Definition proto.c:6503
proto_item * proto_tree_add_float(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, float value)
Definition proto.c:5921
proto_item * proto_tree_add_oid(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint8_t *value_ptr)
Definition proto.c:5466
proto_item * proto_tree_add_int64(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, int64_t value)
Definition proto.c:6331
int tree_type
Definition proto.h:853
WS_DLL_PUBLIC int proto_get_id(const protocol_t *protocol)
Definition proto.c:8873
header_field_info hfinfo
Definition proto.h:836
void proto_register_alias(const int proto_id, const char *alias_name)
Definition proto.c:8778
proto_item * proto_tree_add_eui64_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const uint64_t value, const char *format,...)
Definition proto.c:6445
proto_item * proto_tree_add_bytes_with_length(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, int tvbuff_length, const uint8_t *start_ptr, int ptr_length)
Definition proto.c:5006
proto_item * proto_tree_add_ipxnet_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, uint32_t value, const char *format,...)
Definition proto.c:5185
proto_item * proto_tree_add_ipv6_format_value(proto_tree *tree, int hfindex, tvbuff_t *tvb, unsigned start, unsigned length, const ws_in6_addr *value_ptr, const char *format,...)
Definition proto.c:5317
void proto_free_field_strings(ftenum_t field_type, unsigned int field_display, const void *field_strings)
Definition proto.c:9358
proto_item * proto_tree_add_boolean_bits_format_value(proto_tree *tree, const int hfindex, tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, uint64_t value, const unsigned encoding, const char *format,...)
Definition proto.c:14359
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_text(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const unsigned len, const char *name, const char *fallback, const int ett, int *const *fields, const unsigned encoding, const int flags)
Definition proto.c:13648
unsigned appendix_start
Definition proto.h:851
WS_DLL_PUBLIC proto_item * proto_tree_add_bitmask_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const unsigned offset, const int hf_hdr, const int ett, int *const *fields, const unsigned encoding, uint64_t *retval)
Definition proto.c:13410
void proto_item_append_text(proto_item *pi, const char *format,...)
Definition proto.c:8074
header_field_info * same_name_next
Definition proto.h:816
@ HF_REF_TYPE_INDIRECT
Definition proto.h:789
@ HF_REF_TYPE_NONE
Definition proto.h:788
@ HF_REF_TYPE_DIRECT
Definition proto.h:790
@ HF_REF_TYPE_PRINT
Definition proto.h:791
@ PROTO_CHECKSUM_E_GOOD
Definition proto.h:3956
@ PROTO_CHECKSUM_E_ILLEGAL
Definition proto.h:3959
@ PROTO_CHECKSUM_E_BAD
Definition proto.h:3955
@ PROTO_CHECKSUM_E_NOT_PRESENT
Definition proto.h:3958
@ PROTO_CHECKSUM_E_UNVERIFIED
Definition proto.h:3957
@ PROTOCOL_GROUP_NONE
Definition proto.h:111
@ PROTOCOL_GROUP_GAMES
Definition proto.h:112
@ ABSOLUTE_TIME_DOY_UTC
Definition proto.h:744
@ BASE_PT_UDP
Definition proto.h:733
@ BASE_HEX_DEC
Definition proto.h:719
@ BASE_HEX
Definition proto.h:716
@ ABSOLUTE_TIME_NTP_UTC
Definition proto.h:745
@ BASE_EXP
Definition proto.h:721
@ ABSOLUTE_TIME_UTC
Definition proto.h:743
@ BASE_DEC
Definition proto.h:715
@ ABSOLUTE_TIME_UNIX
Definition proto.h:746
@ BASE_PT_TCP
Definition proto.h:734
@ BASE_DEC_HEX
Definition proto.h:718
@ BASE_OUI
Definition proto.h:739
@ SEP_COLON
Definition proto.h:726
@ BASE_PT_SCTP
Definition proto.h:736
@ BASE_NETMASK
Definition proto.h:730
@ ABSOLUTE_TIME_LOCAL
Definition proto.h:742
@ BASE_PT_DCCP
Definition proto.h:735
@ BASE_STR_WSP
Definition proto.h:749
@ BASE_NONE
Definition proto.h:712
@ SEP_DOT
Definition proto.h:724
@ SEP_DASH
Definition proto.h:725
@ SEP_SPACE
Definition proto.h:727
@ BASE_OCT
Definition proto.h:717
@ BASE_CUSTOM
Definition proto.h:720
struct _wmem_list_t wmem_list_t
Opaque type representing a scoped, doubly-linked list in the wmem system.
Definition wmem_list.h:42
struct _wmem_allocator_t wmem_allocator_t
Definition wmem_core.h:44
struct _e_guid_t e_guid_t
Represents a GUID/UUID value; may be larger than GUID_LEN so must not be used to directly overlay pac...
struct e_in6_addr ws_in6_addr
Represents a 128-bit IPv6 address.
uint32_t ws_in4_addr
Represents a 32-bit IPv4 address in network byte order.
Definition inet_addr.h:22
Represents the metadata and indexing information for a single captured frame.
Definition packet_info.h:43
Definition packet-bt-dht.c:98
This structure describes one segment of a split-bits item.
Definition proto.h:873
Holds all state for the dissection of a single byte array, including session, buffer,...
Definition epan_dissect.h:28
proto_tree * tree
Definition epan_dissect.h:31
Pairs an expert info index with its associated header field index for registration and display.
Definition expert.h:41
Descriptor for a dissector plugin's registration entry points.
Definition proto.h:1150
Holds aggregate statistics about the state of the protocol registrar.
Definition proto.h:3082
struct _value_string value_string
Mapping between a 32-bit integer value and its string representation.