Wireshark 4.7.2
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
drange.h File Reference
#include <wireshark.h>

Go to the source code of this file.

Classes

struct  _drange_node
 A single contiguous slice within a display filter range expression. More...
struct  _drange
 A display filter range composed of one or more drange_node slices. More...

Typedefs

typedef struct _drange_node drange_node
 A single contiguous slice within a display filter range expression.
typedef struct _drange drange_t
 A display filter range composed of one or more drange_node slices.

Enumerations

enum  drange_node_end_t { DRANGE_NODE_END_T_UNINITIALIZED , DRANGE_NODE_END_T_LENGTH , DRANGE_NODE_END_T_OFFSET , DRANGE_NODE_END_T_TO_THE_END }
 Discriminator tag describing how the end boundary of a drange_node is expressed. More...

Functions

drange_nodedrange_node_new (void)
 Creates a new empty drange_node.
drange_nodedrange_node_from_str (const char *range_str, char **err_ptr)
 Creates a new drange_node from a string representation.
void drange_node_free (drange_node *drnode)
 Frees a drange_node structure.
void drange_node_free_list (GSList *list)
 Frees all elements in the provided GSList.
int drange_node_get_start_offset (drange_node *drnode)
 Get the start offset of a drange_node.
int drange_node_get_length (drange_node *drnode)
 Get the length of a drange_node.
int drange_node_get_end_offset (drange_node *drnode)
 Get the end offset of a drange_node.
drange_node_end_t drange_node_get_ending (drange_node *drnode)
 Get the ending type of a drange_node.
void drange_node_set_start_offset (drange_node *drnode, int offset)
 Set the start offset of a drange_node.
void drange_node_set_length (drange_node *drnode, int length)
 Set the length of a drange node.
void drange_node_set_end_offset (drange_node *drnode, int offset)
 Set the end offset of a drange_node.
void drange_node_set_to_the_end (drange_node *drnode)
 Sets the drange_node to the end.
drange_tdrange_new (drange_node *drnode)
 Creates a new drange_t object.
drange_tdrange_new_from_list (GSList *list)
 Create a new drange_t from a GSList of ranges.
drange_tdrange_dup (drange_t *org)
 Creates a duplicate of the given drange_t.
void drange_free (drange_t *dr)
 Frees a drange_t structure and all its associated resources.
bool drange_has_total_length (drange_t *dr)
 Check if the drange has a total length.
int drange_get_total_length (drange_t *dr)
 Get the total length of a drange.
int drange_get_min_start_offset (drange_t *dr)
 Get the minimum start offset of a drange.
int drange_get_max_start_offset (drange_t *dr)
 Get the maximum start offset of a drange.
void drange_append_drange_node (drange_t *dr, drange_node *drnode)
 Appends a drange_node to the end of a drange_t.
void drange_prepend_drange_node (drange_t *dr, drange_node *drnode)
 Prepends a drange_node to the beginning of a drange_t.
void drange_foreach_drange_node (drange_t *dr, GFunc func, void *funcdata)
 Iterates over each node in a drange_t structure and applies a function to it.
char * drange_node_tostr (const drange_node *rn)
 Convert a drange_node to its string representation.
char * drange_tostr (const drange_t *dr)
 Convert a drange_t structure to its string representation.

Detailed Description

Routines for providing general range support to the dfilter library

Copyright (c) 2000 by Ed Warnicke hagba.nosp@m.rd@p.nosp@m.hysic.nosp@m.s.ru.nosp@m.tgers.nosp@m..edu

Wireshark - Network traffic analyzer By Gerald Combs Copyright 1999 Gerald Combs SPDX-License-Identifier: GPL-2.0-or-later

Enumeration Type Documentation

◆ drange_node_end_t

Discriminator tag describing how the end boundary of a drange_node is expressed.

Enumerator
DRANGE_NODE_END_T_UNINITIALIZED 

End boundary has not been set

DRANGE_NODE_END_T_LENGTH 

End boundary is expressed as a length relative to start_offset

DRANGE_NODE_END_T_OFFSET 

End boundary is expressed as an absolute end offset

DRANGE_NODE_END_T_TO_THE_END 

Range extends to the end of the field/buffer

Function Documentation

◆ drange_append_drange_node()

void drange_append_drange_node ( drange_t * dr,
drange_node * drnode )

Appends a drange_node to the end of a drange_t.

Parameters
drThe drange_t to which the node will be appended.
drnodeThe drange_node to append.

◆ drange_dup()

drange_t * drange_dup ( drange_t * org)

Creates a duplicate of the given drange_t.

Parameters
orgThe drange_t to be duplicated.
Returns
A pointer to the newly created duplicate drange_t, or NULL if an error occurred.

◆ drange_foreach_drange_node()

void drange_foreach_drange_node ( drange_t * dr,
GFunc func,
void * funcdata )

Iterates over each node in a drange_t structure and applies a function to it.

Parameters
drPointer to the drange_t structure.
funcFunction pointer to be applied to each node.
funcdataData to be passed to the function.

◆ drange_free()

void drange_free ( drange_t * dr)

Frees a drange_t structure and all its associated resources.

Parameters
drPointer to the drange_t to be freed.
Note
only use this if you used drange_new() to create the drange

◆ drange_get_max_start_offset()

int drange_get_max_start_offset ( drange_t * dr)

Get the maximum start offset of a drange.

Parameters
drPointer to the drange structure.
Returns
int The maximum start offset.

◆ drange_get_min_start_offset()

int drange_get_min_start_offset ( drange_t * dr)

Get the minimum start offset of a drange.

Parameters
drPointer to the drange structure.
Returns
int The minimum start offset.

◆ drange_get_total_length()

int drange_get_total_length ( drange_t * dr)

Get the total length of a drange.

Parameters
drPointer to the drange structure.
Returns
The total length of the drange, or -1 if it does not have a total length.

◆ drange_has_total_length()

bool drange_has_total_length ( drange_t * dr)

Check if the drange has a total length.

Parameters
drThe drange to check.
Returns
true If the drange has a total length, false otherwise.

◆ drange_new()

drange_t * drange_new ( drange_node * drnode)

Creates a new drange_t object.

Parameters
drnodeA pointer to a drange_node, or NULL if not needed.
Returns
A pointer to the newly created drange_t object.

◆ drange_new_from_list()

drange_t * drange_new_from_list ( GSList * list)

Create a new drange_t from a GSList of ranges.

Parameters
listThe GSList containing the ranges to be added to the new drange_t.
Returns
A pointer to the newly created drange_t, or NULL if an error occurred.

◆ drange_node_free()

void drange_node_free ( drange_node * drnode)

Frees a drange_node structure.

Parameters
drnodePointer to the drange_node to be freed.

◆ drange_node_free_list()

void drange_node_free_list ( GSList * list)

Frees all elements in the provided GSList.

Parameters
listThe GSList containing drange_node structures to be freed.

◆ drange_node_from_str()

drange_node * drange_node_from_str ( const char * range_str,
char ** err_ptr )

Creates a new drange_node from a string representation.

Parameters
range_strThe string representation of the range.
err_ptrPointer to store error message if any.
Returns
A newly created drange_node or NULL on failure.

◆ drange_node_get_end_offset()

int drange_node_get_end_offset ( drange_node * drnode)

Get the end offset of a drange_node.

Parameters
drnodePointer to the drange_node.
Returns
The end offset.

◆ drange_node_get_ending()

drange_node_end_t drange_node_get_ending ( drange_node * drnode)

Get the ending type of a drange_node.

Parameters
drnodePointer to the drange_node.
Returns
The ending type of the node.

◆ drange_node_get_length()

int drange_node_get_length ( drange_node * drnode)

Get the length of a drange_node.

Parameters
drnodePointer to the drange_node.
Returns
The length of the node.

◆ drange_node_get_start_offset()

int drange_node_get_start_offset ( drange_node * drnode)

Get the start offset of a drange_node.

Parameters
drnodePointer to the drange_node.
Returns
The start offset of the node.

◆ drange_node_new()

drange_node * drange_node_new ( void )

Creates a new empty drange_node.

Returns
A pointer to the newly created drange_node.

◆ drange_node_set_end_offset()

void drange_node_set_end_offset ( drange_node * drnode,
int offset )

Set the end offset of a drange_node.

Parameters
drnodePointer to the drange_node to modify.
offsetThe new end offset value.

◆ drange_node_set_length()

void drange_node_set_length ( drange_node * drnode,
int length )

Set the length of a drange node.

Parameters
drnodePointer to the drange node.
lengthThe new length for the node.

◆ drange_node_set_start_offset()

void drange_node_set_start_offset ( drange_node * drnode,
int offset )

Set the start offset of a drange_node.

Parameters
drnodePointer to the drange_node structure.
offsetThe new start offset value.

◆ drange_node_set_to_the_end()

void drange_node_set_to_the_end ( drange_node * drnode)

Sets the drange_node to the end.

Parameters
drnodePointer to the drange_node to be set to the end.

◆ drange_node_tostr()

char * drange_node_tostr ( const drange_node * rn)

Convert a drange_node to its string representation.

Parameters
rnPointer to the drange_node to convert.
Returns
A dynamically allocated string representing the drange_node.

◆ drange_prepend_drange_node()

void drange_prepend_drange_node ( drange_t * dr,
drange_node * drnode )

Prepends a drange_node to the beginning of a drange_t.

Parameters
drThe drange_t to which the node will be prepended.
drnodeThe drange_node to prepend.

◆ drange_tostr()

char * drange_tostr ( const drange_t * dr)

Convert a drange_t structure to its string representation.

Parameters
drPointer to the drange_t structure to convert.
Returns
A dynamically allocated string representing the range, or NULL on failure.