Wireshark  4.3.0
The Wireshark network protocol analyzer
Classes | Macros | Typedefs | Enumerations | Functions
range.h File Reference
#include <glib.h>
#include "ws_symbol_export.h"
#include <epan/wmem_scopes.h>

Go to the source code of this file.

Classes

struct  range_admin_tag
 
struct  epan_range
 

Macros

#define MAX_SCTP_PORT   65535
 
#define MAX_TCP_PORT   65535
 
#define MAX_UDP_PORT   65535
 
#define MAX_DCCP_PORT   65535
 
#define RANGE_ADMIN_T_INITIALIZER   { 0, 0 }
 

Typedefs

typedef struct range_admin_tag range_admin_t
 
typedef struct epan_range range_t
 

Enumerations

enum  convert_ret_t { CVT_NO_ERROR , CVT_SYNTAX_ERROR , CVT_NUMBER_TOO_BIG }
 

Functions

WS_DLL_PUBLIC range_trange_empty (wmem_allocator_t *scope)
 
WS_DLL_PUBLIC convert_ret_t range_convert_str (wmem_allocator_t *scope, range_t **range, const gchar *es, guint32 max_value)
 
WS_DLL_PUBLIC convert_ret_t range_convert_str_work (wmem_allocator_t *scope, range_t **range, const gchar *es, guint32 max_value, gboolean err_on_max)
 
WS_DLL_PUBLIC gboolean value_is_in_range (const range_t *range, guint32 val)
 
WS_DLL_PUBLIC gboolean range_add_value (wmem_allocator_t *scope, range_t **range, guint32 val)
 
WS_DLL_PUBLIC gboolean range_remove_value (wmem_allocator_t *scope, range_t **range, guint32 val)
 
WS_DLL_PUBLIC gboolean ranges_are_equal (const range_t *a, const range_t *b)
 
WS_DLL_PUBLIC void range_foreach (range_t *range, void(*callback)(guint32 val, gpointer ptr), gpointer ptr)
 
WS_DLL_PUBLIC char * range_convert_range (wmem_allocator_t *scope, const range_t *range)
 
WS_DLL_PUBLIC range_trange_copy (wmem_allocator_t *scope, const range_t *src)
 

Detailed Description

Range strings a variant of value_strings

Macro Definition Documentation

◆ MAX_SCTP_PORT

#define MAX_SCTP_PORT   65535
Todo:
where's the best place for these?

Typedef Documentation

◆ range_t

typedef struct epan_range range_t

user specified range(s)

Enumeration Type Documentation

◆ convert_ret_t

Return value from range_convert_str().

Function Documentation

◆ range_add_value()

WS_DLL_PUBLIC gboolean range_add_value ( wmem_allocator_t scope,
range_t **  range,
guint32  val 
)

This function returns TRUE if val has successfully been added to a range. This may extend an existing range or create a new one

Parameters
scopememory scope of range (in case of reallocation)
rangeto add value
valvalue to add to range
Returns
TRUE if the value is successsfully added to range

◆ range_convert_range()

WS_DLL_PUBLIC char* range_convert_range ( wmem_allocator_t scope,
const range_t range 
)

This function converts a range_t to a (wmem_alloc()-allocated) string.

◆ range_copy()

WS_DLL_PUBLIC range_t* range_copy ( wmem_allocator_t scope,
const range_t src 
)

Create a (wmem-alloc()ed) copy of a range

Parameters
scopememory scope for the copied range
srcthe range to copy
Returns
ep allocated copy of the range

◆ range_foreach()

WS_DLL_PUBLIC void range_foreach ( range_t range,
void(*)(guint32 val, gpointer ptr)  callback,
gpointer  ptr 
)

This function calls the provided callback function for each value in in the range. Takes a pointer argument, which is passed to the callback, along with the value in the range.

Parameters
rangethe range
callbackthe callback function
ptrpointer passed to the callback

◆ range_remove_value()

WS_DLL_PUBLIC gboolean range_remove_value ( wmem_allocator_t scope,
range_t **  range,
guint32  val 
)

This function returns TRUE if val has successfully been removed from a range. This may remove an existing range.

Parameters
scopememory scope of range (in case of reallocation)
rangeto remove value
valvalue to remove within range
Returns
TRUE if the value is successsfully removed to range

◆ ranges_are_equal()

WS_DLL_PUBLIC gboolean ranges_are_equal ( const range_t a,
const range_t b 
)

This function returns TRUE if the two given range_t's are equal.

Parameters
afirst range
bsecond range
Returns
TRUE if the value is in range

◆ value_is_in_range()

WS_DLL_PUBLIC gboolean value_is_in_range ( const range_t range,
guint32  val 
)

This function returns TRUE if a given value is within one of the ranges stored in the ranges array.

Parameters
rangethe range
valthe value to check
Returns
TRUE if the value is in range