|
Wireshark 4.7.0
The Wireshark network protocol analyzer
|
Go to the source code of this file.
Classes | |
| struct | range_admin_tag |
| Represents a single contiguous range of unsigned integer values with an inclusive lower and upper bound. More... | |
| 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 |
| Represents a single contiguous range of unsigned integer values with an inclusive lower and upper bound. | |
| typedef struct epan_range | range_t |
Enumerations | |
| enum | convert_ret_t { CVT_NO_ERROR , CVT_SYNTAX_ERROR , CVT_NUMBER_TOO_BIG } |
| Return value from range_convert_str(). More... | |
Functions | |
| WS_DLL_PUBLIC range_t * | range_empty (wmem_allocator_t *scope) |
| Creates an empty range_t structure. | |
| WS_DLL_PUBLIC convert_ret_t | range_convert_str (wmem_allocator_t *scope, range_t **range, const char *es, uint32_t max_value) |
| Converts a range string to a fast comparable array of ranges. | |
| WS_DLL_PUBLIC convert_ret_t | range_convert_str_work (wmem_allocator_t *scope, range_t **range, const char *es, uint32_t max_value, bool err_on_max) |
| Internal worker for converting a textual range specification. | |
| WS_DLL_PUBLIC bool | value_is_in_range (const range_t *range, uint32_t val) |
| WS_DLL_PUBLIC bool | range_add_value (wmem_allocator_t *scope, range_t **range, uint32_t val) |
| WS_DLL_PUBLIC bool | range_remove_value (wmem_allocator_t *scope, range_t **range, uint32_t val) |
| WS_DLL_PUBLIC bool | ranges_are_equal (const range_t *a, const range_t *b) |
| WS_DLL_PUBLIC void | range_foreach (range_t *range, void(*callback)(uint32_t val, void *ptr), void *ptr) |
| WS_DLL_PUBLIC char * | range_convert_range (wmem_allocator_t *scope, const range_t *range) |
| WS_DLL_PUBLIC range_t * | range_copy (wmem_allocator_t *scope, const range_t *src) |
Range strings a variant of value_strings
| #define MAX_SCTP_PORT 65535 |
| #define RANGE_ADMIN_T_INITIALIZER { 0, 0 } |
Default initializer for a range_admin_t, setting both bounds to zero.
| typedef struct epan_range range_t |
user specified range(s)
| enum convert_ret_t |
Return value from range_convert_str().
| WS_DLL_PUBLIC bool range_add_value | ( | wmem_allocator_t * | scope, |
| range_t ** | range, | ||
| uint32_t | 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
| scope | memory scope of range (in case of reallocation) |
| range | to add value |
| val | value to add to 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.
| WS_DLL_PUBLIC convert_ret_t range_convert_str | ( | wmem_allocator_t * | scope, |
| range_t ** | range, | ||
| const char * | es, | ||
| uint32_t | max_value | ||
| ) |
Converts a range string to a fast comparable array of ranges.
This function allocates a range_t large enough to hold the number of ranges specified, and fills the array range->ranges containing low and high values with the number of ranges being range->nranges. After having called this function, the function value_is_in_range() determines whether a given number is within the range or not.
In case of a single number, we make a range where low is equal to high. We take care on wrongly entered ranges; opposite order will be taken care of.
The following syntax is accepted :
1-20,30-40 Range from 1 to 20, and packets 30 to 40 -20,30 Range from 1 to 20, and packet 30 20,30,40- 20, 30, and the range from 40 to the end 20-10,30-25 Range from 10 to 20, and from 25 to 30
| scope | memory scope for the range |
| range | the range |
| es | points to the string to be converted. |
| max_value | specifies the maximum value in a range. |
| WS_DLL_PUBLIC convert_ret_t range_convert_str_work | ( | wmem_allocator_t * | scope, |
| range_t ** | range, | ||
| const char * | es, | ||
| uint32_t | max_value, | ||
| bool | err_on_max | ||
| ) |
Internal worker for converting a textual range specification.
| scope | Memory scope used for allocating the resulting range_t. |
| range | Output pointer receiving the allocated and populated range_t. |
| es | The textual range expression to parse. |
| max_value | Maximum allowed value for open‑ended or bounded ranges. |
| err_on_max | If true, treat values > max_value as errors; if false, clamp them to max_value. |
| WS_DLL_PUBLIC range_t * range_copy | ( | wmem_allocator_t * | scope, |
| const range_t * | src | ||
| ) |
Create a (wmem-alloc()ed) copy of a range
| scope | memory scope for the copied range |
| src | the range to copy |
| WS_DLL_PUBLIC range_t * range_empty | ( | wmem_allocator_t * | scope | ) |
Creates an empty range_t structure.
This function allocates memory for a new range_t structure and initializes it to represent an empty range.
| scope | The memory allocation scope. |
| WS_DLL_PUBLIC void range_foreach | ( | range_t * | range, |
| void(*)(uint32_t val, void *ptr) | callback, | ||
| void * | 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.
| range | the range |
| callback | the callback function |
| ptr | pointer passed to the callback |
| WS_DLL_PUBLIC bool range_remove_value | ( | wmem_allocator_t * | scope, |
| range_t ** | range, | ||
| uint32_t | val | ||
| ) |
This function returns true if val has successfully been removed from a range. This may remove an existing range.
| scope | memory scope of range (in case of reallocation) |
| range | to remove value |
| val | value to remove within range |
This function returns true if the two given range_t's are equal.
| a | first range |
| b | second range |
| WS_DLL_PUBLIC bool value_is_in_range | ( | const range_t * | range, |
| uint32_t | val | ||
| ) |
This function returns true if a given value is within one of the ranges stored in the ranges array.
| range | the range |
| val | the value to check |