Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
tvbuff.h File Reference
#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
 

Macros

#define tvb_get_h_uint16   tvb_get_letohs
 
#define tvb_get_h_uint32   tvb_get_letohl
 

Typedefs

typedef struct tvbuff tvbuff_t
 
typedef void(* tvbuff_free_cb_t) (void *)
 
typedef struct dgt_set_t dgt_set_t
 

Functions

WS_DLL_PUBLIC tvbuff_ttvb_new_octet_aligned (tvbuff_t *tvb, uint32_t bit_offset, int32_t no_of_bits)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_octet_right_aligned (tvbuff_t *tvb, uint32_t bit_offset, int32_t no_of_bits)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_chain (tvbuff_t *parent, tvbuff_t *backing)
 
WS_DLL_PUBLIC tvbuff_ttvb_clone (tvbuff_t *tvb)
 
WS_DLL_PUBLIC tvbuff_ttvb_clone_offset_len (tvbuff_t *tvb, unsigned offset, unsigned len)
 
WS_DLL_PUBLIC void tvb_free (tvbuff_t *tvb)
 
WS_DLL_PUBLIC void tvb_free_chain (tvbuff_t *tvb)
 
WS_DLL_PUBLIC void tvb_set_free_cb (tvbuff_t *tvb, const tvbuff_free_cb_t func)
 
WS_DLL_PUBLIC void tvb_set_child_real_data_tvbuff (tvbuff_t *parent, tvbuff_t *child)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_child_real_data (tvbuff_t *parent, const uint8_t *data, const unsigned length, const int reported_length)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_real_data (const uint8_t *data, const unsigned length, const int reported_length)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_subset_length_caplen (tvbuff_t *backing, const int backing_offset, const int backing_length, const int reported_length)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_subset_length (tvbuff_t *backing, const int backing_offset, const int reported_length)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_subset_remaining (tvbuff_t *backing, const int backing_offset)
 
WS_DLL_PUBLIC void tvb_composite_append (tvbuff_t *tvb, tvbuff_t *member)
 
void tvb_composite_prepend (tvbuff_t *tvb, tvbuff_t *member)
 
WS_DLL_PUBLIC tvbuff_ttvb_new_composite (void)
 
WS_DLL_PUBLIC void tvb_composite_finalize (tvbuff_t *tvb)
 
WS_DLL_PUBLIC unsigned tvb_captured_length (const tvbuff_t *tvb)
 
WS_DLL_PUBLIC int tvb_captured_length_remaining (const tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC unsigned tvb_ensure_captured_length_remaining (const tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC bool tvb_bytes_exist (const tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC void tvb_ensure_bytes_exist64 (const tvbuff_t *tvb, const int offset, const uint64_t length)
 
WS_DLL_PUBLIC void tvb_ensure_bytes_exist (const tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC bool tvb_offset_exists (const tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC unsigned tvb_reported_length (const tvbuff_t *tvb)
 
WS_DLL_PUBLIC int tvb_reported_length_remaining (const tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC unsigned tvb_ensure_reported_length_remaining (const tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC void tvb_set_reported_length (tvbuff_t *tvb, const unsigned)
 
WS_DLL_PUBLIC void tvb_fix_reported_length (tvbuff_t *tvb)
 
WS_DLL_PUBLIC unsigned tvb_offset_from_real_beginning (const tvbuff_t *tvb)
 
WS_DLL_PUBLIC int tvb_raw_offset (tvbuff_t *tvb)
 
WS_DLL_PUBLIC void tvb_set_fragment (tvbuff_t *tvb)
 
WS_DLL_PUBLIC struct tvbufftvb_get_ds_tvb (tvbuff_t *tvb)
 
WS_DLL_PUBLIC uint8_t tvb_get_uint8 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int8_t tvb_get_int8 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint16_t tvb_get_ntohs (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int16_t tvb_get_ntohis (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint32_t tvb_get_ntoh24 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int32_t tvb_get_ntohi24 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint32_t tvb_get_ntohl (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int32_t tvb_get_ntohil (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_ntoh40 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_ntohi40 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_ntoh48 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_ntohi48 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_ntoh56 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_ntohi56 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_ntoh64 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_ntohi64 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC float tvb_get_ntohieee_float (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC double tvb_get_ntohieee_double (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint16_t tvb_get_letohs (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int16_t tvb_get_letohis (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint32_t tvb_get_letoh24 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int32_t tvb_get_letohi24 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint32_t tvb_get_letohl (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int32_t tvb_get_letohil (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_letoh40 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_letohi40 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_letoh48 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_letohi48 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_letoh56 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_letohi56 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint64_t tvb_get_letoh64 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int64_t tvb_get_letohi64 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC float tvb_get_letohieee_float (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC double tvb_get_letohieee_double (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC uint16_t tvb_get_uint16 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int16_t tvb_get_int16 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint32_t tvb_get_uint24 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int32_t tvb_get_int24 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint32_t tvb_get_uint32 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int32_t tvb_get_int32 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint64_t tvb_get_uint40 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int64_t tvb_get_int40 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint64_t tvb_get_uint48 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int64_t tvb_get_int48 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint64_t tvb_get_uint56 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int64_t tvb_get_int56 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC uint64_t tvb_get_uint64 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC int64_t tvb_get_int64 (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC float tvb_get_ieee_float (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC double tvb_get_ieee_double (tvbuff_t *tvb, const int offset, const unsigned encoding)
 
WS_DLL_PUBLIC nstime_ttvb_get_string_time (tvbuff_t *tvb, const int offset, const int length, const unsigned encoding, nstime_t *ns, int *endoff)
 
WS_DLL_PUBLIC GByteArray * tvb_get_string_bytes (tvbuff_t *tvb, const int offset, const int length, const unsigned encoding, GByteArray *bytes, int *endoff)
 
WS_DLL_PUBLIC uint32_t tvb_get_ipv4 (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC void tvb_get_ipv6 (tvbuff_t *tvb, const int offset, ws_in6_addr *addr)
 
int tvb_get_ipv4_addr_with_prefix_len (tvbuff_t *tvb, int offset, ws_in4_addr *addr, uint32_t prefix_len)
 
int tvb_get_ipv6_addr_with_prefix_len (tvbuff_t *tvb, int offset, ws_in6_addr *addr, uint32_t prefix_len)
 
WS_DLL_PUBLIC void tvb_get_ntohguid (tvbuff_t *tvb, const int offset, e_guid_t *guid)
 
WS_DLL_PUBLIC void tvb_get_letohguid (tvbuff_t *tvb, const int offset, e_guid_t *guid)
 
WS_DLL_PUBLIC void tvb_get_guid (tvbuff_t *tvb, const int offset, e_guid_t *guid, const unsigned 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)
 
WS_DLL_PUBLIC uint8_t tvb_get_bits8 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits)
 
WS_DLL_PUBLIC uint16_t tvb_get_bits16 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding)
 
WS_DLL_PUBLIC uint32_t tvb_get_bits32 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding)
 
WS_DLL_PUBLIC uint64_t tvb_get_bits64 (tvbuff_t *tvb, unsigned bit_offset, const int no_of_bits, const unsigned encoding)
 
WS_DLL_PUBLIC uint32_t tvb_get_bits (tvbuff_t *tvb, const unsigned bit_offset, const int no_of_bits, const unsigned encoding)
 
WS_DLL_PUBLIC void * tvb_memcpy (tvbuff_t *tvb, void *target, const int offset, size_t length)
 
WS_DLL_PUBLIC void * tvb_memdup (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, size_t length)
 
WS_DLL_PUBLIC const uint8_t * tvb_get_ptr (tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC int tvb_find_uint8 (tvbuff_t *tvb, const int offset, const int maxlength, const uint8_t needle)
 
WS_DLL_PUBLIC int tvb_find_uint16 (tvbuff_t *tvb, const int offset, const int maxlength, const uint16_t needle)
 
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)
 
WS_DLL_PUBLIC unsigned tvb_strsize (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC unsigned tvb_unicode_strsize (tvbuff_t *tvb, const int offset)
 
WS_DLL_PUBLIC int tvb_strnlen (tvbuff_t *tvb, const int offset, const unsigned maxlength)
 
WS_DLL_PUBLIC char * tvb_format_text (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int size)
 
WS_DLL_PUBLIC char * tvb_format_text_wsp (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int size)
 
char * tvb_format_stringzpad (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int size)
 
char * tvb_format_stringzpad_wsp (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int size)
 
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)
 
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)
 
WS_DLL_PUBLIC char * tvb_get_ts_23_038_7bits_string_unpacked (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int length)
 
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)
 
WS_DLL_PUBLIC char * tvb_get_ascii_7bits_string (wmem_allocator_t *scope, tvbuff_t *tvb, const int bit_offset, int no_of_chars)
 
WS_DLL_PUBLIC uint8_t * tvb_get_stringzpad (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int length, const unsigned encoding)
 
WS_DLL_PUBLIC uint8_t * tvb_get_stringz_enc (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, int *lengthp, const unsigned encoding)
 
WS_DLL_PUBLIC const uint8_t * tvb_get_const_stringz (tvbuff_t *tvb, const int offset, int *lengthp)
 
WS_DLL_PUBLIC int tvb_get_raw_bytes_as_stringz (tvbuff_t *tvb, const int offset, const unsigned bufsize, uint8_t *buffer)
 
WS_DLL_PUBLIC int tvb_get_raw_bytes_as_string (tvbuff_t *tvb, const int offset, char *buffer, size_t bufsize)
 
WS_DLL_PUBLIC bool tvb_ascii_isprint (tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC bool tvb_utf_8_isprint (tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC bool tvb_ascii_isdigit (tvbuff_t *tvb, const int offset, const int length)
 
WS_DLL_PUBLIC int tvb_find_line_end (tvbuff_t *tvb, const int offset, int len, int *next_offset, const bool desegment)
 
WS_DLL_PUBLIC int tvb_find_line_end_unquoted (tvbuff_t *tvb, const int offset, int len, int *next_offset)
 
WS_DLL_PUBLIC int tvb_skip_wsp (tvbuff_t *tvb, const int offset, const int maxlength)
 
WS_DLL_PUBLIC int tvb_skip_wsp_return (tvbuff_t *tvb, const int offset)
 
int tvb_skip_uint8 (tvbuff_t *tvb, int offset, const int maxlength, const uint8_t ch)
 
WS_DLL_PUBLIC int tvb_get_token_len (tvbuff_t *tvb, const int offset, int len, int *next_offset, const bool desegment)
 
WS_DLL_PUBLIC int tvb_strneql (tvbuff_t *tvb, const int offset, const char *str, const size_t size)
 
WS_DLL_PUBLIC int tvb_strncaseeql (tvbuff_t *tvb, const int offset, const char *str, const size_t size)
 
WS_DLL_PUBLIC int tvb_memeql (tvbuff_t *tvb, const int offset, const uint8_t *str, size_t size)
 
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)
 
WS_DLL_PUBLIC char * tvb_bytes_to_str (wmem_allocator_t *allocator, tvbuff_t *tvb, const int offset, const int len)
 
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)
 
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)
 
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)
 
WS_DLL_PUBLIC int tvb_find_tvb (tvbuff_t *haystack_tvb, tvbuff_t *needle_tvb, const int haystack_offset)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_zlib (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_zlib (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_brotli (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_brotli (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_snappy (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_snappy (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_lz77 (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_lz77 (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_lz77huff (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_lz77huff (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_lznt1 (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_lznt1 (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_uncompress_zstd (tvbuff_t *tvb, const int offset, int comprlen)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_zstd (tvbuff_t *parent, tvbuff_t *tvb, const int offset, int comprlen)
 
tvbuff_tbase64_to_tvb (tvbuff_t *parent, const char *base64)
 
tvbuff_tbase64_tvb_to_new_tvb (tvbuff_t *parent, int offset, int length)
 
tvbuff_tbase64uri_tvb_to_new_tvb (tvbuff_t *parent, int offset, int length)
 
WS_DLL_PUBLIC wmem_strbuf_ttvb_get_hpack_huffman_strbuf (wmem_allocator_t *scope, tvbuff_t *tvb, const int offset, const int len)
 
WS_DLL_PUBLIC tvbuff_ttvb_child_uncompress_hpack_huff (tvbuff_t *parent, int offset, int length)
 
WS_DLL_PUBLIC unsigned tvb_get_varint (tvbuff_t *tvb, unsigned offset, unsigned maxlen, uint64_t *value, const unsigned encoding)
 

Detailed Description

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