Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
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.