Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
value_string.h File Reference
#include <stdint.h>
#include "ws_symbol_export.h"
#include <epan/wmem_scopes.h>

Go to the source code of this file.

Classes

struct  _value_string
 
struct  _val64_string
 
struct  _value_string_ext
 
struct  _val64_string_ext
 
struct  _string_string
 
struct  _range_string
 
struct  _bytes_string
 

Macros

#define VALUE_STRING_ENUM( array_name)   _VS_ENUM_XXX( array_name, _VS_ENUM_ENTRY)
 
#define VALUE_STRING_ARRAY( array_name)   _VS_ARRAY_SC_XXX(array_name, _VS_ARRAY_ENTRY, static)
 
#define VALUE_STRING_ARRAY_GLOBAL_DEF( array_name)   _VS_ARRAY_XXX(array_name, _VS_ARRAY_ENTRY)
 
#define VALUE_STRING_ARRAY_GLOBAL_DCL( array_name)   _VS_ARRAY_SC_TYPE_NAME(array_name, extern)
 
#define VALUE_STRING_ENUM2( array_name)   _VS_ENUM_XXX( array_name, _VS_ENUM_ENTRY2)
 
#define VALUE_STRING_ARRAY2( array_name)   _VS_ARRAY_SC_XXX(array_name, _VS_ARRAY_ENTRY2, static)
 
#define VALUE_STRING_ARRAY2_GLOBAL_DEF(array_name)   _VS_ARRAY_XXX(array_name, _VS_ARRAY_ENTRY2)
 
#define VALUE_STRING_ARRAY2_GLOBAL_DCL(array_name)   _VS_ARRAY_SC_TYPE_NAME(array_name, extern)
 
#define _VS_ENUM_XXX(array_name, macro)
 
#define _VS_ARRAY_SC_XXX(array_name, macro, sc)
 
#define _VS_ARRAY_XXX(array_name, macro)
 
#define _VS_ARRAY_SC_TYPE_NAME(array_name, sc)   sc const value_string array_name[]
 
#define _VS_ARRAY_TYPE_NAME(array_name)   const value_string array_name[]
 
#define _VS_ENUM_ENTRY(name, value, string)   name = value,
 
#define _VS_ARRAY_ENTRY(name, value, string)   { value, string },
 
#define _VS_ENUM_ENTRY2(name, value)   name = value,
 
#define _VS_ARRAY_ENTRY2(name, value)   { value, #name },
 
#define VALUE_STRING_EXT_VS_P(x)   (x)->_vs_p
 
#define VALUE_STRING_EXT_VS_NUM_ENTRIES(x)   (x)->_vs_num_entries
 
#define VALUE_STRING_EXT_VS_NAME(x)   (x)->_vs_name
 
#define VALUE_STRING_EXT_INIT(x)   { _try_val_to_str_ext_init, 0, G_N_ELEMENTS(x)-1, x, #x }
 
#define VAL64_STRING_EXT_VS_P(x)   (x)->_vs_p
 
#define VAL64_STRING_EXT_VS_NUM_ENTRIES(x)   (x)->_vs_num_entries
 
#define VAL64_STRING_EXT_VS_NAME(x)   (x)->_vs_name
 
#define VAL64_STRING_EXT_INIT(x)   { _try_val64_to_str_ext_init, 0, G_N_ELEMENTS(x)-1, x, #x }
 

Typedefs

typedef struct _value_string value_string
 
typedef struct _val64_string val64_string
 
typedef struct _value_string_ext value_string_ext
 
typedef const value_string *(* _value_string_match2_t) (const uint32_t, value_string_ext *)
 
typedef struct _val64_string_ext val64_string_ext
 
typedef const val64_string *(* _val64_string_match2_t) (const uint64_t, val64_string_ext *)
 
typedef struct _string_string string_string
 
typedef struct _range_string range_string
 
typedef struct _bytes_string bytes_string
 

Functions

WS_DLL_PUBLIC const char * val_to_str (const uint32_t val, const value_string *vs, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char * val_to_str_wmem (wmem_allocator_t *scope, const uint32_t val, const value_string *vs, const char *fmt) G_GNUC_PRINTF(4
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char WS_DLL_PUBLIC const char * val_to_str_const (const uint32_t val, const value_string *vs, const char *unknown_str)
 
WS_DLL_PUBLIC const char * try_val_to_str (const uint32_t val, const value_string *vs)
 
WS_DLL_PUBLIC const char * try_val_to_str_idx (const uint32_t val, const value_string *vs, int *idx)
 
WS_DLL_PUBLIC const char * char_val_to_str (char val, const value_string *vs, const char *msg)
 
WS_DLL_PUBLIC const char * val64_to_str (const uint64_t val, const val64_string *vs, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC const char * val64_to_str_const (const uint64_t val, const val64_string *vs, const char *unknown_str)
 
WS_DLL_PUBLIC const char * try_val64_to_str (const uint64_t val, const val64_string *vs)
 
WS_DLL_PUBLIC const char * try_val64_to_str_idx (const uint64_t val, const val64_string *vs, int *idx)
 
WS_DLL_PUBLIC uint32_t str_to_val (const char *val, const value_string *vs, const uint32_t err_val)
 
WS_DLL_PUBLIC int str_to_val_idx (const char *val, const value_string *vs)
 
WS_DLL_PUBLIC const value_string_try_val_to_str_ext_init (const uint32_t val, value_string_ext *vse)
 
WS_DLL_PUBLIC value_string_extvalue_string_ext_new (const value_string *vs, unsigned vs_tot_num_entries, const char *vs_name)
 
WS_DLL_PUBLIC void value_string_ext_free (value_string_ext *vse)
 
WS_DLL_PUBLIC const char * val_to_str_ext (const uint32_t val, value_string_ext *vse, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char * val_to_str_ext_wmem (wmem_allocator_t *scope, const uint32_t val, value_string_ext *vse, const char *fmt) G_GNUC_PRINTF(4
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char WS_DLL_PUBLIC const char * val_to_str_ext_const (const uint32_t val, value_string_ext *vs, const char *unknown_str)
 
WS_DLL_PUBLIC const char * try_val_to_str_ext (const uint32_t val, value_string_ext *vse)
 
WS_DLL_PUBLIC const char * try_val_to_str_idx_ext (const uint32_t val, value_string_ext *vse, int *idx)
 
WS_DLL_PUBLIC const val64_string_try_val64_to_str_ext_init (const uint64_t val, val64_string_ext *vse)
 
WS_DLL_PUBLIC val64_string_extval64_string_ext_new (const val64_string *vs, unsigned vs_tot_num_entries, const char *vs_name)
 
WS_DLL_PUBLIC void val64_string_ext_free (val64_string_ext *vse)
 
WS_DLL_PUBLIC const char * val64_to_str_ext (const uint64_t val, val64_string_ext *vse, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char * val64_to_str_ext_wmem (wmem_allocator_t *scope, const uint64_t val, val64_string_ext *vse, const char *fmt) G_GNUC_PRINTF(4
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC char WS_DLL_PUBLIC const char * val64_to_str_ext_const (const uint64_t val, val64_string_ext *vs, const char *unknown_str)
 
WS_DLL_PUBLIC const char * try_val64_to_str_ext (const uint64_t val, val64_string_ext *vse)
 
WS_DLL_PUBLIC const char * try_val64_to_str_idx_ext (const uint64_t val, val64_string_ext *vse, int *idx)
 
WS_DLL_PUBLIC const char * str_to_str (const char *val, const string_string *vs, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC const char * try_str_to_str (const char *val, const string_string *vs)
 
WS_DLL_PUBLIC const char * try_str_to_str_idx (const char *val, const string_string *vs, int *idx)
 
WS_DLL_PUBLIC const char * rval_to_str (const uint32_t val, const range_string *rs, const char *fmt) G_GNUC_PRINTF(3
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC const char * rval_to_str_const (const uint32_t val, const range_string *rs, const char *unknown_str)
 
WS_DLL_PUBLIC const char * try_rval_to_str (const uint32_t val, const range_string *rs)
 
WS_DLL_PUBLIC const char * try_rval_to_str_idx (const uint32_t val, const range_string *rs, int *idx)
 
WS_DLL_PUBLIC const char * try_rval64_to_str (const uint64_t val, const range_string *rs)
 
WS_DLL_PUBLIC const char * try_rval64_to_str_idx (const uint64_t val, const range_string *rs, int *idx)
 
WS_DLL_PUBLIC const char * bytesval_to_str (const uint8_t *val, const size_t val_len, const bytes_string *bs, const char *fmt) G_GNUC_PRINTF(4
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC const char * try_bytesval_to_str (const uint8_t *val, const size_t val_len, const bytes_string *bs)
 
WS_DLL_PUBLIC const char * bytesprefix_to_str (const uint8_t *haystack, const size_t haystack_len, const bytes_string *bs, const char *fmt) G_GNUC_PRINTF(4
 
WS_DLL_PUBLIC const char WS_DLL_PUBLIC const char * try_bytesprefix_to_str (const uint8_t *haystack, const size_t haystack_len, const bytes_string *bs)
 
WS_DLL_LOCAL bool value_string_ext_validate (const value_string_ext *vse)
 
WS_DLL_LOCAL const char * value_string_ext_match_type_str (const value_string_ext *vse)
 
WS_DLL_LOCAL bool val64_string_ext_validate (const val64_string_ext *vse)
 
WS_DLL_LOCAL const char * val64_string_ext_match_type_str (const val64_string_ext *vse)
 

Detailed Description

Definitions for value_string structures and routines

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

Macro Definition Documentation

◆ _VS_ARRAY_SC_XXX

#define _VS_ARRAY_SC_XXX (   array_name,
  macro,
  sc 
)
Value:
_VS_ARRAY_SC_TYPE_NAME(array_name, sc) = { \
array_name##_VALUE_STRING_LIST(macro) \
{ 0, NULL } \
}

◆ _VS_ARRAY_XXX

#define _VS_ARRAY_XXX (   array_name,
  macro 
)
Value:
_VS_ARRAY_TYPE_NAME(array_name) = { \
array_name##_VALUE_STRING_LIST(macro) \
{ 0, NULL } \
}

◆ _VS_ENUM_XXX

#define _VS_ENUM_XXX (   array_name,
  macro 
)
Value:
enum { \
array_name##_VALUE_STRING_LIST(macro) \
_##array_name##_ENUM_DUMMY = 0 \
}