![]() |
Wireshark 4.7.0
The Wireshark network protocol analyzer
|
#include <ws_symbol_export.h>
#include <ws_attributes.h>
#include <epan/guid-utils.h>
#include <wsutil/inet_addr.h>
#include <wsutil/nstime.h>
#include "wsutil/ws_mempbrk.h"
Go to the source code of this file.
Classes | |
struct | dgt_set_t |
Digit mapping table for BCD decoding. More... | |
Macros | |
#define | tvb_get_h_uint16 tvb_get_letohs |
Fetch a 16-bit value in host byte order. | |
#define | tvb_get_h_uint32 tvb_get_letohl |
Fetch a 32-bit value in host byte order. | |
Typedefs | |
typedef struct tvbuff | tvbuff_t |
typedef void(* | tvbuff_free_cb_t) (void *) |
typedef struct dgt_set_t | dgt_set_t |
Digit mapping table for BCD decoding. | |
Functions | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_octet_aligned (tvbuff_t *tvb, uint32_t bit_offset, int32_t no_of_bits) |
Extracts a specified number of bits starting at a given bit offset, aligning the result to octet boundaries. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_octet_right_aligned (tvbuff_t *tvb, uint32_t bit_offset, int32_t no_of_bits) |
Extracts a specified number of bits starting at a given bit offset, with bits counted from least significant bit (LSB = 0) to most significant bit (MSB = 7) within each octet. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_chain (tvbuff_t *parent, tvbuff_t *backing) |
Create a new chained tvbuff from a parent and backing buffer. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_clone (tvbuff_t *tvb) |
Creates a full clone of the given tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_clone_offset_len (tvbuff_t *tvb, unsigned offset, unsigned len) |
Clones a portion of the given tvbuff starting at a specific offset and length. | |
WS_DLL_PUBLIC void | tvb_free (tvbuff_t *tvb) |
Free a tvbuff_t and all tvbuffs chained from it. | |
WS_DLL_PUBLIC void | tvb_free_chain (tvbuff_t *tvb) |
Free the tvbuff_t and all tvbuffs chained from it. | |
WS_DLL_PUBLIC void | tvb_set_free_cb (tvbuff_t *tvb, const tvbuff_free_cb_t func) |
Set a callback function to be called when a tvbuff is actually freed. | |
WS_DLL_PUBLIC void | tvb_set_child_real_data_tvbuff (tvbuff_t *parent, tvbuff_t *child) |
Attach a "real" tvbuff to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_child_real_data (tvbuff_t *parent, const uint8_t *data, const unsigned length, const int reported_length) |
Create a new child tvbuff with real data. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_real_data (const uint8_t *data, const unsigned length, const int reported_length) |
Create a tvbuff backed by existing data. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_subset_length_caplen (tvbuff_t *backing, const int backing_offset, const int backing_length, const int reported_length) |
Create a subset tvbuff with an explicitly limited captured length. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_subset_length (tvbuff_t *backing, const int backing_offset, const int reported_length) |
Create a subset tvbuff with captured length fitting within backing and reported lengths. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_subset_remaining (tvbuff_t *backing, const int backing_offset) |
Similar to tvb_new_subset_length_caplen() but with backing_length and reported_length set to -1. | |
WS_DLL_PUBLIC void | tvb_composite_append (tvbuff_t *tvb, tvbuff_t *member) |
Append to the list of tvbuffs that make up this composite tvbuff. | |
void | tvb_composite_prepend (tvbuff_t *tvb, tvbuff_t *member) |
Prepend to the list of tvbuffs that make up this composite tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_new_composite (void) |
Create an empty composite tvbuff. | |
WS_DLL_PUBLIC void | tvb_composite_finalize (tvbuff_t *tvb) |
Mark a composite tvbuff as finalized. | |
WS_DLL_PUBLIC unsigned | tvb_captured_length (const tvbuff_t *tvb) |
Get the amount of captured data in the buffer. | |
WS_DLL_PUBLIC int | tvb_captured_length_remaining (const tvbuff_t *tvb, const int offset) |
Computes bytes to end of buffer from the given offset. | |
WS_DLL_PUBLIC unsigned | tvb_ensure_captured_length_remaining (const tvbuff_t *tvb, const int offset) |
Same as tvb_captured_length_remaining, but throws an exception if the offset is out of bounds. | |
WS_DLL_PUBLIC bool | tvb_bytes_exist (const tvbuff_t *tvb, const int offset, const int length) |
Check that the specified bytes exist in the tvbuff without throwing an exception. | |
WS_DLL_PUBLIC void | tvb_ensure_bytes_exist64 (const tvbuff_t *tvb, const int offset, const uint64_t length) |
Checks that the bytes referred to by 'offset' and 'length' actually exist in the buffer. | |
WS_DLL_PUBLIC void | tvb_ensure_bytes_exist (const tvbuff_t *tvb, const int offset, const int length) |
Checks that the bytes referred to by 'offset' and 'length' actually exist in the buffer. | |
WS_DLL_PUBLIC bool | tvb_offset_exists (const tvbuff_t *tvb, const int offset) |
Checks (without throwing an exception) whether the offset exists in the buffer. | |
WS_DLL_PUBLIC unsigned | tvb_reported_length (const tvbuff_t *tvb) |
Get reported length of buffer. | |
WS_DLL_PUBLIC int | tvb_reported_length_remaining (const tvbuff_t *tvb, const int offset) |
Computes bytes of reported packet data from the given offset to the end of buffer. | |
WS_DLL_PUBLIC unsigned | tvb_ensure_reported_length_remaining (const tvbuff_t *tvb, const int offset) |
Same as tvb_reported_length_remaining but throws an exception if the offset is out of bounds. | |
WS_DLL_PUBLIC void | tvb_set_reported_length (tvbuff_t *tvb, const unsigned reported_length) |
Set a tvbuff's reported_length to a given value. | |
WS_DLL_PUBLIC void | tvb_fix_reported_length (tvbuff_t *tvb) |
Repair a tvbuff when captured length exceeds reported length. | |
WS_DLL_PUBLIC unsigned | tvb_offset_from_real_beginning (const tvbuff_t *tvb) |
Returns the offset from the beginning of the real (backing) buffer. | |
WS_DLL_PUBLIC int | tvb_raw_offset (tvbuff_t *tvb) |
Returns the offset from the first byte of real data. | |
WS_DLL_PUBLIC void | tvb_set_fragment (tvbuff_t *tvb) |
Set the "this is a fragment" flag on a tvbuff. | |
WS_DLL_PUBLIC struct tvbuff * | tvb_get_ds_tvb (tvbuff_t *tvb) |
Retrieve the data source tvbuff from a given tvbuff. | |
WS_DLL_PUBLIC uint8_t | tvb_get_uint8 (tvbuff_t *tvb, const int offset) |
Retrieve an 8-bit unsigned value from a tvbuff at the specified offset. | |
WS_DLL_PUBLIC int8_t | tvb_get_int8 (tvbuff_t *tvb, const int offset) |
Retrieve an 8-bit signed value from a tvbuff at the specified offset. | |
WS_DLL_PUBLIC uint16_t | tvb_get_ntohs (tvbuff_t *tvb, const int offset) |
Retrieve a 16-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int16_t | tvb_get_ntohis (tvbuff_t *tvb, const int offset) |
Retrieve a 16-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint32_t | tvb_get_ntoh24 (tvbuff_t *tvb, const int offset) |
Retrieve a 24-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int32_t | tvb_get_ntohi24 (tvbuff_t *tvb, const int offset) |
Retrieve a 24-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint32_t | tvb_get_ntohl (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int32_t | tvb_get_ntohil (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_ntoh40 (tvbuff_t *tvb, const int offset) |
Retrieve a 40-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_ntohi40 (tvbuff_t *tvb, const int offset) |
Retrieve a 40-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_ntoh48 (tvbuff_t *tvb, const int offset) |
Retrieve a 48-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_ntohi48 (tvbuff_t *tvb, const int offset) |
Retrieve a 48-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_ntoh56 (tvbuff_t *tvb, const int offset) |
Retrieve a 56-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_ntohi56 (tvbuff_t *tvb, const int offset) |
Retrieve a 56-bit signed value in network byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_ntoh64 (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit unsigned value in network byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_ntohi64 (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit signed value in network byte order. | |
WS_DLL_PUBLIC float | tvb_get_ntohieee_float (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit IEEE float in network byte order. | |
WS_DLL_PUBLIC double | tvb_get_ntohieee_double (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit IEEE double in network byte order. | |
WS_DLL_PUBLIC uint16_t | tvb_get_letohs (tvbuff_t *tvb, const int offset) |
Retrieve a 16-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int16_t | tvb_get_letohis (tvbuff_t *tvb, const int offset) |
Retrieve a 16-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint32_t | tvb_get_letoh24 (tvbuff_t *tvb, const int offset) |
Retrieve a 24-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int32_t | tvb_get_letohi24 (tvbuff_t *tvb, const int offset) |
Retrieve a 24-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint32_t | tvb_get_letohl (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int32_t | tvb_get_letohil (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_letoh40 (tvbuff_t *tvb, const int offset) |
Retrieve a 40-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_letohi40 (tvbuff_t *tvb, const int offset) |
Retrieve a 40-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_letoh48 (tvbuff_t *tvb, const int offset) |
Retrieve a 48-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_letohi48 (tvbuff_t *tvb, const int offset) |
Retrieve a 48-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_letoh56 (tvbuff_t *tvb, const int offset) |
Retrieve a 56-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_letohi56 (tvbuff_t *tvb, const int offset) |
Retrieve a 56-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC uint64_t | tvb_get_letoh64 (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit unsigned value in little-endian byte order. | |
WS_DLL_PUBLIC int64_t | tvb_get_letohi64 (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit signed value in little-endian byte order. | |
WS_DLL_PUBLIC float | tvb_get_letohieee_float (tvbuff_t *tvb, const int offset) |
Retrieve a 32-bit IEEE float in little-endian byte order. | |
WS_DLL_PUBLIC double | tvb_get_letohieee_double (tvbuff_t *tvb, const int offset) |
Retrieve a 64-bit IEEE double in little-endian byte order. | |
WS_DLL_PUBLIC uint16_t | tvb_get_uint16 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 16-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int16_t | tvb_get_int16 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 16-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint32_t | tvb_get_uint24 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 24-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int32_t | tvb_get_int24 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 24-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint32_t | tvb_get_uint32 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 32-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int32_t | tvb_get_int32 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 32-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint64_t | tvb_get_uint40 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 40-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int64_t | tvb_get_int40 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 40-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint64_t | tvb_get_uint48 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 48-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int64_t | tvb_get_int48 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 48-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint64_t | tvb_get_uint56 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 56-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int64_t | tvb_get_int56 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 56-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint64_t | tvb_get_uint64 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 64-bit unsigned value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint64_t | tvb_get_uint64_with_length (tvbuff_t *tvb, const int offset, unsigned length, const unsigned encoding) |
Retrieve a variable-length unsigned value (up to 64 bits) from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC int64_t | tvb_get_int64 (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 64-bit signed value from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC float | tvb_get_ieee_float (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 32-bit IEEE float from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC double | tvb_get_ieee_double (tvbuff_t *tvb, const int offset, const unsigned encoding) |
Retrieve a 64-bit IEEE double from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC nstime_t * | tvb_get_string_time (tvbuff_t *tvb, const int offset, const int length, const unsigned encoding, nstime_t *ns, int *endoff) |
Fetch a time value from an ASCII-style string in the tvbuff. | |
WS_DLL_PUBLIC GByteArray * | tvb_get_string_bytes (tvbuff_t *tvb, const int offset, const int length, const unsigned encoding, GByteArray *bytes, int *endoff) |
Parse a case-insensitive hex string with optional separators into a byte array. | |
WS_DLL_PUBLIC uint32_t | tvb_get_ipv4 (tvbuff_t *tvb, const int offset) |
Retrieve an IPv4 address from a tvbuff in network byte order. | |
WS_DLL_PUBLIC void | tvb_get_ipv6 (tvbuff_t *tvb, const int offset, ws_in6_addr *addr) |
Retrieve an IPv6 address from a tvbuff. | |
int | tvb_get_ipv4_addr_with_prefix_len (tvbuff_t *tvb, int offset, ws_in4_addr *addr, uint32_t prefix_len) |
Fetch an IPv4 address from a tvbuff and mask out bits not covered by a prefix length. | |
int | tvb_get_ipv6_addr_with_prefix_len (tvbuff_t *tvb, int offset, ws_in6_addr *addr, uint32_t prefix_len) |
Fetch an IPv6 address from a tvbuff and mask out bits not covered by a prefix length. | |
WS_DLL_PUBLIC void | tvb_get_ntohguid (tvbuff_t *tvb, const int offset, e_guid_t *guid) |
Retrieve a GUID from a tvbuff in network byte order. | |
WS_DLL_PUBLIC void | tvb_get_letohguid (tvbuff_t *tvb, const int offset, e_guid_t *guid) |
Retrieve a GUID from a tvbuff in little-endian byte order. | |
WS_DLL_PUBLIC void | tvb_get_guid (tvbuff_t *tvb, const int offset, e_guid_t *guid, const unsigned encoding) |
Retrieve a GUID from a tvbuff using the specified encoding. | |
WS_DLL_PUBLIC uint8_t * | tvb_get_bits_array (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, size_t length, size_t *data_length, const unsigned encoding) |
Retrieve a byte array from a tvbuff using a bit-level offset and encoding. | |
WS_DLL_PUBLIC uint8_t | tvb_get_bits8 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits) |
Retrieve 1–8 bits from a tvbuff and return them as a uint8_t. | |
WS_DLL_PUBLIC uint16_t | tvb_get_bits16 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding) |
Retrieve 1–16 bits from a tvbuff and return them as a uint16_t. | |
WS_DLL_PUBLIC uint32_t | tvb_get_bits32 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding) |
Retrieve 1–32 bits from a tvbuff and return them as a uint32_t. | |
WS_DLL_PUBLIC uint64_t | tvb_get_bits64 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding) |
Retrieve 1–64 bits from a tvbuff and return them as a uint64_t. | |
WS_DLL_PUBLIC uint32_t | tvb_get_bits (tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, const unsigned encoding) |
Deprecated accessor for extracting bits from a tvbuff. | |
WS_DLL_PUBLIC void * | tvb_memcpy (tvbuff_t *tvb, void *target, const int offset, size_t length) |
Copy a range of bytes from a tvbuff into a pre-allocated target buffer. | |
WS_DLL_PUBLIC void * | tvb_memdup (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, size_t length) |
Duplicate a block of data from a tvbuff into a newly allocated buffer. | |
WS_DLL_PUBLIC const uint8_t * | tvb_get_ptr (tvbuff_t *tvb, const int offset, const int length) |
Returns a raw pointer to tvbuff data. Use with extreme caution. | |
WS_DLL_PUBLIC int | tvb_find_uint8 (tvbuff_t *tvb, const int offset, const int maxlength, const uint8_t needle) |
Find the first occurrence of a byte value in a tvbuff. | |
WS_DLL_PUBLIC int | tvb_find_uint16 (tvbuff_t *tvb, const int offset, const int maxlength, const uint16_t needle) |
Find the first occurrence of a 16-bit value in a tvbuff. | |
WS_DLL_PUBLIC int | tvb_ws_mempbrk_pattern_uint8 (tvbuff_t *tvb, const int offset, const int maxlength, const ws_mempbrk_pattern *pattern, unsigned char *found_needle) |
Find the first occurrence of any needle from a pre-compiled pattern in a tvbuff. | |
WS_DLL_PUBLIC unsigned | tvb_strsize (tvbuff_t *tvb, const int offset) |
Determine the size of a NUL-terminated string in a tvbuff. | |
WS_DLL_PUBLIC unsigned | tvb_unicode_strsize (tvbuff_t *tvb, const int offset) |
Determine the size of a UCS-2 or UTF-16 NUL-terminated string in a tvbuff. | |
WS_DLL_PUBLIC int | tvb_strnlen (tvbuff_t *tvb, const int offset, const unsigned maxlength) |
Find the length of a NUL-terminated string in a tvbuff, up to a maximum limit. | |
WS_DLL_PUBLIC char * | tvb_format_text (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int size) |
Format a block of tvbuff data as printable text. | |
WS_DLL_PUBLIC char * | tvb_format_text_wsp (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int size) |
Format tvbuff data as printable text, omitting C-style escapes. | |
char * | tvb_format_stringzpad (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int size) |
Format a null-padded string from a tvbuff as printable text. | |
char * | tvb_format_stringzpad_wsp (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int size) |
Format a null-padded string from a tvbuff as printable text, preserving whitespace. | |
WS_DLL_PUBLIC uint8_t * | tvb_get_string_enc (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int length, const unsigned encoding) |
Extract and convert a string from a tvbuff to UTF-8 using the specified encoding. | |
WS_DLL_PUBLIC char * | tvb_get_ts_23_038_7bits_string_packed (wmem_allocator_t *scope, tvbuff_t *tvb, const int bit_offset, int no_of_chars) |
Extract and convert a 3GPP TS 23.038 7-bit packed string from a tvbuff to UTF-8. | |
WS_DLL_PUBLIC char * | tvb_get_ts_23_038_7bits_string_unpacked (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int length) |
Extract and convert a 3GPP TS 23.038 7-bit unpacked string from a tvbuff to UTF-8. | |
WS_DLL_PUBLIC char * | tvb_get_etsi_ts_102_221_annex_a_string (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int length) |
Extract and convert a string encoded per ETSI TS 102 221 Annex A from a tvbuff to UTF-8. | |
WS_DLL_PUBLIC char * | tvb_get_ascii_7bits_string (wmem_allocator_t *scope, tvbuff_t *tvb, const int bit_offset, int no_of_chars) |
Extract and convert an ASCII 7-bit encoded string from a tvbuff to UTF-8. | |
WS_DLL_PUBLIC uint8_t * | tvb_get_stringzpad (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int length, const unsigned encoding) |
Extract and convert a null-padded string from a tvbuff to UTF-8. | |
WS_DLL_PUBLIC uint8_t * | tvb_get_stringz_enc (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int *lengthp, const unsigned encoding) |
Extract and convert a null-terminated string from a tvbuff to UTF-8 using the specified encoding. | |
WS_DLL_PUBLIC const uint8_t * | tvb_get_const_stringz (tvbuff_t *tvb, const int offset, int *lengthp) |
Deprecated function to retrieve a raw, unmodifiable null-terminated string from a tvbuff. | |
WS_DLL_PUBLIC int | tvb_get_raw_bytes_as_stringz (tvbuff_t *tvb, const int offset, const unsigned bufsize, uint8_t *buffer) |
Copy up to a specified number of bytes from a tvbuff into a buffer as a NUL-terminated string. | |
WS_DLL_PUBLIC int | tvb_get_raw_bytes_as_string (tvbuff_t *tvb, const int offset, char *buffer, size_t bufsize) |
Extract raw bytes from a tvbuff into a buffer as a NUL-terminated string. | |
WS_DLL_PUBLIC bool | tvb_ascii_isprint (tvbuff_t *tvb, const int offset, const int length) |
Check whether all bytes in a tvbuff range are ASCII printable characters. | |
WS_DLL_PUBLIC bool | tvb_utf_8_isprint (tvbuff_t *tvb, const int offset, const int length) |
Check if a portion of a tvbuff contains only valid, printable UTF-8 characters. | |
WS_DLL_PUBLIC bool | tvb_ascii_isdigit (tvbuff_t *tvb, const int offset, const int length) |
Check if all bytes in a tvbuff range are ASCII digits. | |
WS_DLL_PUBLIC int | tvb_find_line_end (tvbuff_t *tvb, const int offset, int len, int *next_offset, const bool desegment) |
Locate the end of a line in a tvbuff, optionally desegmenting. | |
WS_DLL_PUBLIC int | tvb_find_line_end_unquoted (tvbuff_t *tvb, const int offset, int len, int *next_offset) |
Locate the end of a line in a tvbuff, ignoring newlines inside quoted strings. | |
WS_DLL_PUBLIC int | tvb_skip_wsp (tvbuff_t *tvb, const int offset, const int maxlength) |
Skip ASCII whitespace in a tvbuff and return the offset of the first non-whitespace byte. | |
WS_DLL_PUBLIC int | tvb_skip_wsp_return (tvbuff_t *tvb, const int offset) |
Skip ASCII whitespace in a tvbuff and return the next non-whitespace offset. | |
int | tvb_skip_uint8 (tvbuff_t *tvb, int offset, const int maxlength, const uint8_t ch) |
Skip consecutive occurrences of a specific byte value in a tvbuff. | |
WS_DLL_PUBLIC int | tvb_get_token_len (tvbuff_t *tvb, const int offset, int len, int *next_offset, const bool desegment) |
Determine the length of a token in a tvbuff, optionally desegmenting. | |
WS_DLL_PUBLIC int | tvb_strneql (tvbuff_t *tvb, const int offset, const char *str, const size_t size) |
Compare a string in a tvbuff to a reference string using strncmp semantics. | |
WS_DLL_PUBLIC int | tvb_strncaseeql (tvbuff_t *tvb, const int offset, const char *str, const size_t size) |
Case-insensitive comparison of tvbuff bytes against a reference string. | |
WS_DLL_PUBLIC int | tvb_memeql (tvbuff_t *tvb, const int offset, const uint8_t *str, size_t size) |
Compare raw bytes in a tvbuff to a reference buffer using memcmp semantics. | |
WS_DLL_PUBLIC char * | tvb_bytes_to_str_punct (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int len, const char punct) |
Format a sequence of bytes from a tvbuff as a string with a custom separator. | |
WS_DLL_PUBLIC char * | tvb_bytes_to_str (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int len) |
Format a sequence of bytes from a tvbuff as a hexadecimal string. | |
WS_DLL_PUBLIC const char * | tvb_bcd_dig_to_str (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int len, const dgt_set_t *dgt, bool skip_first) |
Convert BCD-encoded digits from a tvbuff into a formatted string. | |
WS_DLL_PUBLIC const char * | tvb_bcd_dig_to_str_be (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int len, const dgt_set_t *dgt, bool skip_first) |
Convert BCD-encoded digits from a tvbuff to a formatted string (big-endian nibble order). | |
WS_DLL_PUBLIC char * | tvb_get_bcd_string (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int len, const dgt_set_t *dgt, bool skip_first, bool odd, bool bigendian) |
Convert BCD-encoded digits from a tvbuff to a UTF-8 string with flexible nibble handling. | |
WS_DLL_PUBLIC int | tvb_find_tvb (tvbuff_t *haystack_tvb, tvbuff_t *needle_tvb, const int haystack_offset) |
Search for a sub-tvbuff within another tvbuff starting at a given offset. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress (tvbuff_t *tvb, const int offset, int comprlen) |
Deprecated interface for uncompressing data from a tvbuff using zlib. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_zlib (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress zlib-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Deprecated interface for uncompressing data and chaining the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_zlib (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress a zlib-compressed packet inside a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_brotli (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Brotli-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_brotli (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Brotli-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_snappy (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Snappy-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_snappy (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Snappy-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_lz77 (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft Plain LZ77-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_lz77 (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft Plain LZ77-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_lz77huff (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft LZ77+Huffman-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_lz77huff (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft LZ77+Huffman-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_lznt1 (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft LZNT1-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_lznt1 (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Microsoft LZNT1-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_uncompress_zstd (tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Zstandard (ZSTD)-compressed data from a tvbuff. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_zstd (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen) |
Uncompress Zstandard (ZSTD)-compressed data from a tvbuff and attach the result to a parent tvbuff. | |
tvbuff_t * | base64_to_tvb (tvbuff_t *parent, const char *base64) |
Decode a base64-encoded string into a tvbuff and attach it to a parent tvbuff. | |
tvbuff_t * | base64_tvb_to_new_tvb (tvbuff_t *parent, int offset, int length) |
Decode a base64-encoded string from a tvbuff region and attach the result to a parent tvbuff. | |
tvbuff_t * | base64uri_tvb_to_new_tvb (tvbuff_t *parent, int offset, int length) |
Decode a base64url-encoded string from a tvbuff region and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC wmem_strbuf_t * | tvb_get_hpack_huffman_strbuf (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int len) |
Decode HPACK Huffman-encoded data from a tvbuff into a string buffer. | |
WS_DLL_PUBLIC tvbuff_t * | tvb_child_uncompress_hpack_huff (tvbuff_t *parent, int offset, int length) |
Decode HPACK Huffman-encoded data from a tvbuff region and attach the result to a parent tvbuff. | |
WS_DLL_PUBLIC unsigned | tvb_get_varint (tvbuff_t *tvb, unsigned offset, unsigned maxlen, uint64_t *value, const unsigned encoding) |
Extract a variable-length integer from a tvbuff using the specified encoding. | |
Testy, Virtual(-izable) Buffer of uint8_t*'s
"Testy" – the buffer gets mad when an attempt is made to access data beyond the bounds of the buffer. An exception is thrown.
"Virtual" – the buffer can have its own data, can use a subset of the data of a backing tvbuff, or can be a composite of other tvbuffs.
Copyright (c) 2000 by Gilbert Ramirez gram@.nosp@m.alum.nosp@m.ni.ri.nosp@m.ce.e.nosp@m.du
Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later