20#define ASSERT_FTYPE_NOT_REACHED(ft) \
21 ws_error("Invalid field type '%s'.", ftype_name(ft))
83#define FT_IS_INT32(ft) \
93#define FT_IS_INT64(ft) \
94 ((ft) == FT_INT40 || \
103#define FT_IS_INT(ft) (FT_IS_INT32(ft) || FT_IS_INT64(ft))
109#define FT_IS_UINT32(ft) \
110 ((ft) == FT_CHAR || \
111 (ft) == FT_UINT8 || \
112 (ft) == FT_UINT16 || \
113 (ft) == FT_UINT24 || \
114 (ft) == FT_UINT32 || \
121#define FT_IS_UINT64(ft) \
122 ((ft) == FT_UINT40 || \
123 (ft) == FT_UINT48 || \
124 (ft) == FT_UINT56 || \
131#define FT_IS_UINT(ft) (FT_IS_UINT32(ft) || FT_IS_UINT64(ft))
137#define FT_IS_INTEGER(ft) (FT_IS_INT(ft) || FT_IS_UINT(ft))
143#define FT_IS_FLOATING(ft) ((ft) == FT_FLOAT || (ft) == FT_DOUBLE)
149#define FT_IS_TIME(ft) \
150 ((ft) == FT_ABSOLUTE_TIME || (ft) == FT_RELATIVE_TIME)
156#define FT_IS_STRING(ft) \
157 ((ft) == FT_STRING || (ft) == FT_STRINGZ || (ft) == FT_STRINGZPAD || \
158 (ft) == FT_STRINGZTRUNC || (ft) == FT_UINT_STRING || (ft) == FT_AX25)
164#define FT_IS_SCALAR(ft) ((ft) == FT_INT64 || (ft) == FT_DOUBLE)
168#define FT_ETHER_LEN 6
170#define FT_GUID_LEN 16
174#define FT_IPv6_LEN 16
176#define FT_IPXNET_LEN 4
178#define FT_EUI64_LEN 8
180#define FT_AX25_ADDR_LEN 7
182#define FT_VINES_ADDR_LEN 6
184#define FT_FCWWN_LEN 8
186#define FT_VARINT_MAX_LEN 10
249typedef enum ftrepr ftrepr_t;
708#define fvalue_to_debug_repr(scope, fv) \
709 fvalue_to_string_repr(scope, fv, FTREPR_DFILTER, 0)
WS_DLL_PUBLIC ft_bool_t fvalue_lt(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t objects to determine if the first is less than the second.
Definition ftypes.c:1337
struct _protocol_value_t protocol_value_t
Holds a protocol value's buffer and associated metadata for use in display filter evaluation.
WS_DLL_PUBLIC ftenum_t fvalue_type_ftenum(const fvalue_t *fv)
Get the ftype of a fvalue_t.
Definition ftypes.c:705
WS_DLL_PUBLIC bool ftype_can_eq(enum ftenum ftype)
Checks if a given field type can be compared.
Definition ftypes.c:315
ftrepr
Output representation formats for field value serialization.
Definition ftypes.h:241
@ FTREPR_JSON
Definition ftypes.h:244
@ FTREPR_RAW
Definition ftypes.h:245
@ FTREPR_DFILTER
Definition ftypes.h:243
@ FTREPR_DISPLAY
Definition ftypes.h:242
@ FTREPR_EK
Definition ftypes.h:246
WS_DLL_PUBLIC fvalue_t * fvalue_add(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Adds two fvalue_t objects.
Definition ftypes.c:1428
enum ftenum ftenum_t
Convenience typedef for ftenum.
Definition ftypes.h:190
WS_DLL_PUBLIC enum ft_result fvalue_to_uinteger64(const fvalue_t *fv, uint64_t *repr)
Convert a fvalue_t to an unsigned 64-bit integer.
Definition ftypes.c:769
WS_DLL_PUBLIC void fvalue_set_ipv4(fvalue_t *fv, const ipv4_addr_and_mask *value)
Set the IPv4 value of an fvalue_t structure.
Definition ftypes.c:1121
WS_DLL_PUBLIC ft_bool_t fvalue_matches(const fvalue_t *a, const ws_regex_t *re)
Checks if a fvalue_t matches a regular expression.
Definition ftypes.c:1376
WS_DLL_PUBLIC bool ftype_can_add(enum ftenum ftype)
Checks if a given field type can be added.
Definition ftypes.c:351
WS_DLL_PUBLIC fvalue_t * fvalue_new(ftenum_t ftype)
Creates a new fvalue_t structure.
Definition ftypes.c:492
WS_DLL_PUBLIC enum ft_result fvalue_to_sinteger64(const fvalue_t *fv, int64_t *repr)
Convert a fvalue_t to an int64_t.
Definition ftypes.c:778
bool ftype_similar_types(const enum ftenum ftype_a, const enum ftenum ftype_b)
Determine if two field types are similar.
Definition ftypes.c:160
WS_DLL_PUBLIC bool fvalue_is_zero(const fvalue_t *a)
Checks if a fvalue_t is zero.
Definition ftypes.c:1389
WS_DLL_PUBLIC const ipv6_addr_and_prefix * fvalue_get_ipv6(fvalue_t *fv)
Retrieves the IPv6 value from an fvalue_t structure.
Definition ftypes.c:1277
WS_DLL_PUBLIC const char * ftype_name(ftenum_t ftype)
Get the name of a field type.
WS_DLL_PUBLIC ft_bool_t fvalue_le(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t objects lexicographically.
Definition ftypes.c:1350
ftenum
Fundamental field value types used throughout the Wireshark dissector framework.
Definition ftypes.h:26
@ FT_GUID
Definition ftypes.h:63
@ FT_INT64
Definition ftypes.h:46
@ FT_IPv4
Definition ftypes.h:59
@ FT_FLOAT
Definition ftypes.h:49
@ FT_BOOLEAN
Definition ftypes.h:29
@ FT_UINT_BYTES
Definition ftypes.h:58
@ FT_STRINGZ
Definition ftypes.h:54
@ FT_STRINGZTRUNC
Definition ftypes.h:72
@ FT_AX25
Definition ftypes.h:66
@ FT_IEEE_11073_FLOAT
Definition ftypes.h:48
@ FT_INT16
Definition ftypes.h:40
@ FT_PROTOCOL
Definition ftypes.h:28
@ FT_FRAMENUM
Definition ftypes.h:62
@ FT_RELATIVE_TIME
Definition ftypes.h:52
@ FT_UINT64
Definition ftypes.h:38
@ FT_INT32
Definition ftypes.h:42
@ FT_NUM_TYPES
Definition ftypes.h:73
@ FT_UINT_STRING
Definition ftypes.h:55
@ FT_OID
Definition ftypes.h:64
@ FT_STRING
Definition ftypes.h:53
@ FT_IEEE_11073_SFLOAT
Definition ftypes.h:47
@ FT_NONE
Definition ftypes.h:27
@ FT_INT8
Definition ftypes.h:39
@ FT_INT40
Definition ftypes.h:43
@ FT_UINT24
Definition ftypes.h:33
@ FT_INT24
Definition ftypes.h:41
@ FT_SCALAR
Definition ftypes.h:74
@ FT_UINT8
Definition ftypes.h:31
@ FT_CHAR
Definition ftypes.h:30
@ FT_STRINGZPAD
Definition ftypes.h:70
@ FT_IPv6
Definition ftypes.h:60
@ FT_INT48
Definition ftypes.h:44
@ FT_DOUBLE
Definition ftypes.h:50
@ FT_FCWWN
Definition ftypes.h:71
@ FT_ABSOLUTE_TIME
Definition ftypes.h:51
@ FT_INT56
Definition ftypes.h:45
@ FT_UINT48
Definition ftypes.h:36
@ FT_ETHER
Definition ftypes.h:56
@ FT_BYTES
Definition ftypes.h:57
@ FT_SYSTEM_ID
Definition ftypes.h:69
@ FT_UINT16
Definition ftypes.h:32
@ FT_VINES
Definition ftypes.h:67
@ FT_REL_OID
Definition ftypes.h:68
@ FT_ENUM_SIZE
Definition ftypes.h:75
@ FT_EUI64
Definition ftypes.h:65
@ FT_UINT32
Definition ftypes.h:34
@ FT_UINT56
Definition ftypes.h:37
@ FT_IPXNET
Definition ftypes.h:61
@ FT_UINT40
Definition ftypes.h:35
WS_DLL_PUBLIC void fvalue_set_floating(fvalue_t *fv, double value)
Set the floating-point value of an fvalue_t.
Definition ftypes.c:1112
WS_DLL_PUBLIC const nstime_t * fvalue_get_time(fvalue_t *fv)
Retrieves a time value from an fvalue_t structure.
Definition ftypes.c:1180
WS_DLL_PUBLIC char * fvalue_to_string_repr(wmem_allocator_t *scope, const fvalue_t *fv, ftrepr_t rtype, int field_display)
Convert a fvalue to its string representation.
Definition ftypes.c:728
WS_DLL_PUBLIC const char * fvalue_get_string(fvalue_t *fv)
Get a string representation of an fvalue.
Definition ftypes.c:1188
WS_DLL_PUBLIC const ipv4_addr_and_mask * fvalue_get_ipv4(fvalue_t *fv)
Retrieves the IPv4 address from an fvalue_t structure.
Definition ftypes.c:1269
WS_DLL_PUBLIC bool ftype_can_val_to_sinteger(enum ftenum ftype)
Checks if a given ftype can be converted to a signed integer.
Definition ftypes.c:441
WS_DLL_PUBLIC int64_t fvalue_get_sinteger64(fvalue_t *fv)
Get the 64-bit signed integer value from an fvalue_t structure.
Definition ftypes.c:1249
WS_DLL_PUBLIC fvalue_t * fvalue_subtract(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Subtracts one fvalue from another.
Definition ftypes.c:1436
WS_DLL_PUBLIC const char * fvalue_type_name(const fvalue_t *fv)
Get the name of the type associated with a fvalue_t.
Definition ftypes.c:711
void ftypes_initialize(void)
Initializes various field types in Wireshark.
Definition ftypes.c:20
WS_DLL_PUBLIC bool ftype_can_divide(enum ftenum ftype)
Checks if a given field type can be divided.
Definition ftypes.c:378
WS_DLL_PUBLIC void fvalue_set_bytes(fvalue_t *fv, GBytes *value)
Set the value of an fvalue_t to a GBytes object.
Definition ftypes.c:937
WS_DLL_PUBLIC void fvalue_set_uinteger(fvalue_t *fv, uint32_t value)
Set the value of a fvalue_t to an unsigned 32-bit integer.
Definition ftypes.c:1062
WS_DLL_PUBLIC fvalue_t * fvalue_divide(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Divides two fvalue_t objects.
Definition ftypes.c:1452
WS_DLL_PUBLIC void fvalue_set_ax25(fvalue_t *fv, const uint8_t *value)
Set the value of an fvalue_t to an AX.25 address.
Definition ftypes.c:977
WS_DLL_PUBLIC void fvalue_set_bytes_data(fvalue_t *fv, const void *data, size_t size)
Set the bytes data for a fvalue_t.
Definition ftypes.c:961
WS_DLL_PUBLIC double fvalue_get_floating(fvalue_t *fv)
Retrieves the floating-point value from an fvalue_t structure.
Definition ftypes.c:1260
WS_DLL_PUBLIC int ftype_wire_size(ftenum_t ftype)
Get the wire size of a field type.
WS_DLL_PUBLIC fvalue_t * fvalue_multiply(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Multiplies two fvalue_t objects.
Definition ftypes.c:1444
WS_DLL_PUBLIC bool ftype_can_val_to_uinteger(enum ftenum ftype)
Checks if a given ftenum can be converted to an unsigned integer.
Definition ftypes.c:451
WS_DLL_PUBLIC ft_bool_t fvalue_ge(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t structures for greater than or equal to.
Definition ftypes.c:1324
WS_DLL_PUBLIC void fvalue_set_fcwwn(fvalue_t *fv, const uint8_t *value)
Set the value of an fvalue_t to a FC-WWN (Fibre Channel World Wide Name).
Definition ftypes.c:969
WS_DLL_PUBLIC void fvalue_set_protocol_length(fvalue_t *fv, int length)
Set the protocol length for a fvalue_t structure.
Definition ftypes.c:1054
WS_DLL_PUBLIC bool ftype_can_is_nan(enum ftenum ftype)
Check if the given ftenum can represent NaN values.
Definition ftypes.c:432
WS_DLL_PUBLIC bool ftype_can_matches(enum ftenum ftype)
Checks if a given field type can match another.
Definition ftypes.c:405
fvalue_t * fvalue_from_floating(ftenum_t ftype, const char *s, double number, char **err_msg)
Creates a floating-point field value from a string representation.
Definition ftypes.c:683
WS_DLL_PUBLIC enum ft_result fvalue_to_sinteger(const fvalue_t *fv, int32_t *repr)
Convert a fvalue_t to a 32-bit signed integer.
Definition ftypes.c:753
WS_DLL_PUBLIC void fvalue_set_string(fvalue_t *fv, const char *value)
Set the string value of an fvalue_t.
Definition ftypes.c:1027
WS_DLL_PUBLIC const e_guid_t * fvalue_get_guid(fvalue_t *fv)
Retrieves a GUID value from an fvalue_t structure.
Definition ftypes.c:1172
WS_DLL_PUBLIC void fvalue_free(fvalue_t *fv)
Frees an fvalue_t structure.
Definition ftypes.c:556
WS_DLL_PUBLIC void fvalue_cleanup(fvalue_t *fv)
Clean up a fvalue_t structure.
Definition ftypes.c:548
WS_DLL_PUBLIC ft_bool_t fvalue_eq(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t structures for equality.
Definition ftypes.c:1285
WS_DLL_PUBLIC void fvalue_set_strbuf(fvalue_t *fv, wmem_strbuf_t *value)
Set the value of an fvalue_t to a string buffer.
Definition ftypes.c:1034
WS_DLL_PUBLIC uint32_t fvalue_get_uinteger(fvalue_t *fv)
Get the unsigned integer value from an fvalue_t structure.
Definition ftypes.c:1210
WS_DLL_PUBLIC void fvalue_set_guid(fvalue_t *fv, const e_guid_t *value)
Set the value of a fvalue_t to a GUID.
Definition ftypes.c:1011
WS_DLL_PUBLIC bool ftype_can_modulo(enum ftenum ftype)
Check if a given ftype can perform modulo operation.
Definition ftypes.c:387
WS_DLL_PUBLIC bool ftype_can_is_zero(enum ftenum ftype)
Determines if a given field type can be zero.
Definition ftypes.c:414
WS_DLL_PUBLIC ft_bool_t fvalue_ne(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t structures for inequality.
Definition ftypes.c:1298
WS_DLL_PUBLIC enum ft_result fvalue_to_double(const fvalue_t *fv, double *repr)
Convert a fvalue_t to its double representation.
Definition ftypes.c:787
WS_DLL_PUBLIC void fvalue_set_ether(fvalue_t *fv, const uint8_t *value)
Set the value of an fvalue_t to a new Ethernet address.
Definition ftypes.c:1003
WS_DLL_PUBLIC bool ftype_can_length(enum ftenum ftype)
Determines if a given field type can have its length retrieved.
Definition ftypes.c:297
int ft_bool_t
Three-state boolean type for ftype comparison results.
Definition ftypes.h:233
WS_DLL_PUBLIC ft_bool_t fvalue_gt(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t structures to determine if the first is greater than the second.
Definition ftypes.c:1311
WS_DLL_PUBLIC void fvalue_set_sinteger64(fvalue_t *fv, int64_t value)
Set the value of an fvalue_t to a 64-bit signed integer.
Definition ftypes.c:1101
fvalue_t * fvalue_from_uinteger64(ftenum_t ftype, const char *s, uint64_t number, char **err_msg)
Creates a new fvalue_t from an unsigned 64-bit integer.
Definition ftypes.c:661
WS_DLL_PUBLIC const void * fvalue_get_bytes_data(fvalue_t *fv)
Retrieves the bytes data from an fvalue_t.
Definition ftypes.c:1163
WS_DLL_PUBLIC bool ftype_can_val_to_double(enum ftenum ftype)
Determines if a given field type can be converted to a double.
Definition ftypes.c:479
WS_DLL_PUBLIC bool ftype_can_multiply(enum ftenum ftype)
Checks if the given field type can be multiplied.
Definition ftypes.c:369
WS_DLL_PUBLIC void fvalue_set_time(fvalue_t *fv, const nstime_t *value)
Set the time value of an fvalue_t structure.
Definition ftypes.c:1019
WS_DLL_PUBLIC bool ftype_can_is_negative(enum ftenum ftype)
Determines if a given field type can represent negative values.
Definition ftypes.c:423
WS_DLL_PUBLIC GBytes * fvalue_get_bytes(fvalue_t *fv)
Get the bytes value from an fvalue_t.
Definition ftypes.c:1137
WS_DLL_PUBLIC fvalue_t * fvalue_from_literal(ftenum_t ftype, const char *s, bool allow_partial_value, char **err_msg)
Create a new fvalue from a literal string.
Definition ftypes.c:563
WS_DLL_PUBLIC fvalue_t * fvalue_slice(fvalue_t *fv, drange_t *dr)
Slices a fvalue_t based on a drange_t.
Definition ftypes.c:928
WS_DLL_PUBLIC bool fvalue_is_negative(const fvalue_t *a)
Checks if a fvalue_t is negative.
Definition ftypes.c:1395
WS_DLL_PUBLIC void fvalue_set_ipv6(fvalue_t *fv, const ipv6_addr_and_prefix *value)
Set the IPv6 value of an fvalue_t.
Definition ftypes.c:1129
WS_DLL_PUBLIC fvalue_t * fvalue_modulo(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Calculate the modulo of two fvalue_t objects.
Definition ftypes.c:1460
fvalue_t * fvalue_from_charconst(ftenum_t ftype, unsigned long number, char **err_msg)
Create a new fvalue from a character constant.
Definition ftypes.c:611
fvalue_t * fvalue_from_sinteger64(ftenum_t ftype, const char *s, int64_t number, char **err_msg)
Creates a field value from a signed 64-bit integer.
Definition ftypes.c:639
WS_DLL_PUBLIC bool ftype_can_subtract(enum ftenum ftype)
Checks if the given ftype can be subtracted.
Definition ftypes.c:360
WS_DLL_PUBLIC void fvalue_set_vines(fvalue_t *fv, const uint8_t *value)
Set the value of an fvalue_t to a VINES address.
Definition ftypes.c:995
WS_DLL_PUBLIC const wmem_strbuf_t * fvalue_get_strbuf(fvalue_t *fv)
Retrieves the string buffer value from an fvalue_t structure.
Definition ftypes.c:1194
WS_DLL_PUBLIC void fvalue_set_uinteger64(fvalue_t *fv, uint64_t value)
Set the value of a fvalue_t to an unsigned 64-bit integer.
Definition ftypes.c:1089
WS_DLL_PUBLIC bool ftype_can_val_to_sinteger64(enum ftenum ftype)
Checks if a given field type can be converted to a signed 64-bit integer.
Definition ftypes.c:461
WS_DLL_PUBLIC bool ftype_can_slice(enum ftenum ftype)
Determines if a given field type can be sliced.
Definition ftypes.c:306
WS_DLL_PUBLIC void fvalue_set_sinteger(fvalue_t *fv, int32_t value)
Set the value of an fvalue_t to a signed 32-bit integer.
Definition ftypes.c:1078
enum ft_framenum_type ft_framenum_type_t
Convenience typedef for ft_framenum_type.
Definition ftypes.h:208
WS_DLL_PUBLIC bool ftype_can_bitwise_and(enum ftenum ftype)
Checks if a given field type can perform bitwise AND operation.
Definition ftypes.c:333
WS_DLL_PUBLIC bool ftype_can_contains(enum ftenum ftype)
Checks if a given ftype can contain other types.
Definition ftypes.c:396
WS_DLL_PUBLIC enum ft_result fvalue_to_uinteger(const fvalue_t *fv, uint32_t *repr)
Convert a fvalue_t to an unsigned 32-bit integer.
Definition ftypes.c:739
WS_DLL_PUBLIC unsigned fvalue_hash(const fvalue_t *fv)
Calculate the hash value for a fvalue_t.
Definition ftypes.c:1483
WS_DLL_PUBLIC ft_bool_t fvalue_contains(const fvalue_t *a, const fvalue_t *b)
Checks if one fvalue_t contains another.
Definition ftypes.c:1363
void ftypes_register_pseudofields(void)
Registers pseudofields for various data types in Wireshark.
Definition ftypes.c:36
WS_DLL_PUBLIC void fvalue_init(fvalue_t *fv, ftenum_t ftype)
Initialize a fvalue_t structure.
Definition ftypes.c:533
WS_DLL_PUBLIC void fvalue_set_byte_array(fvalue_t *fv, GByteArray *value)
Set the byte array value of an fvalue_t.
Definition ftypes.c:953
WS_DLL_PUBLIC bool ftype_can_unary_minus(enum ftenum ftype)
Check if a given ftenum can be negated using unary minus.
Definition ftypes.c:342
WS_DLL_PUBLIC bool ftype_can_val_to_uinteger64(enum ftenum ftype)
Checks if a given ftenum can be converted to an unsigned 64-bit integer.
Definition ftypes.c:470
WS_DLL_PUBLIC void fvalue_set_protocol(fvalue_t *fv, tvbuff_t *value, const char *name, int length)
Set the protocol value for a field value.
Definition ftypes.c:1046
WS_DLL_PUBLIC const char * ftype_pretty_name(ftenum_t ftype)
Returns a string representing the "pretty" name of the field type.
WS_DLL_PUBLIC bool fvalue_is_nan(const fvalue_t *a)
Checks if a fvalue_t is NaN.
Definition ftypes.c:1401
WS_DLL_PUBLIC tvbuff_t * fvalue_get_protocol(fvalue_t *fv)
Get the protocol value from an fvalue_t structure.
Definition ftypes.c:1202
WS_DLL_PUBLIC fvalue_t * fvalue_dup(const fvalue_t *fv)
Duplicates a fvalue_t structure.
Definition ftypes.c:512
fvalue_t * fvalue_from_string(ftenum_t ftype, const char *s, size_t len, char **err_msg)
Create a new fvalue_t from a string.
Definition ftypes.c:589
WS_DLL_PUBLIC fvalue_t * fvalue_bitwise_and(const fvalue_t *a, const fvalue_t *b, char **err_msg)
Perform a bitwise AND operation on two fvalue_t objects.
Definition ftypes.c:1420
WS_DLL_PUBLIC size_t fvalue_length2(fvalue_t *fv)
Get the length of a fvalue_t.
Definition ftypes.c:718
WS_DLL_PUBLIC bool ftype_can_cmp(enum ftenum ftype)
Determines if a given field type can be compared.
Definition ftypes.c:324
WS_DLL_PUBLIC uint64_t fvalue_get_uinteger64(fvalue_t *fv)
Retrieves an unsigned 64-bit integer value from a fvalue_t structure.
Definition ftypes.c:1237
ft_framenum_type
Semantic role of an FT_FRAMENUM field, describing the relationship it encodes.
Definition ftypes.h:196
@ FT_FRAMENUM_REQUEST
Definition ftypes.h:198
@ FT_FRAMENUM_NONE
Definition ftypes.h:197
@ FT_FRAMENUM_RETRANS_PREV
Definition ftypes.h:202
@ FT_FRAMENUM_RETRANS_NEXT
Definition ftypes.h:203
@ FT_FRAMENUM_DUP_ACK
Definition ftypes.h:201
@ FT_FRAMENUM_NUM_TYPES
Definition ftypes.h:204
@ FT_FRAMENUM_RESPONSE
Definition ftypes.h:199
@ FT_FRAMENUM_ACK
Definition ftypes.h:200
WS_DLL_PUBLIC bool fvalue_equal(const fvalue_t *a, const fvalue_t *b)
Compares two fvalue_t structures for equality.
Definition ftypes.c:1490
WS_DLL_PUBLIC int32_t fvalue_get_sinteger(fvalue_t *fv)
Retrieves a signed integer value from an fvalue_t structure.
Definition ftypes.c:1226
WS_DLL_PUBLIC fvalue_t * fvalue_unary_minus(const fvalue_t *fv, char **err_msg)
Applies unary minus operation to a fvalue.
Definition ftypes.c:1468
ft_result
Return codes for ftype operations such as conversion and comparison.
Definition ftypes.h:217
@ FT_ERROR
Definition ftypes.h:222
@ FT_OK
Definition ftypes.h:218
@ FT_BADARG
Definition ftypes.h:221
@ FT_OVERFLOW
Definition ftypes.h:219
@ FT_UNDERFLOW
Definition ftypes.h:220
WS_DLL_PUBLIC size_t fvalue_get_bytes_size(fvalue_t *fv)
Get the size of the bytes data stored in an fvalue_t.
Definition ftypes.c:1154
A display filter range composed of one or more drange_node slices.
Definition drange.h:51
Represents a GUID/UUID value; may be larger than GUID_LEN so must not be used to directly overlay pac...
Definition guid-utils.h:21
Describes a field type and its associated operations for display filtering.
Definition ftypes-int.h:110
ftenum_t ftype
Definition ftypes-int.h:111
Represents a typed field value used in protocol dissection.
Definition ftypes-int.h:22
const ftype_t * ftype
Definition ftypes-int.h:23
union _fvalue_t::@480 value
Holds a protocol value's buffer and associated metadata for use in display filter evaluation.
Definition ftypes.h:552
char * proto_string
Definition ftypes.h:555
bool tvb_is_private
Definition ftypes.h:556
int length
Definition ftypes.h:554
tvbuff_t * tvb
Definition ftypes.h:553
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
Internal structure representing a wmem-allocated string buffer.
Definition wmem_strbuf.h:38
Definition inet_cidr.h:22
Definition inet_cidr.h:27
Core tvbuff (testy virtual buffer) structure representing a region of packet data,...
Definition tvbuff-int.h:95