Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
dfunctions.h File Reference
#include <glib.h>
#include <epan/ftypes/ftypes.h>
#include <epan/dfilter/syntax-tree.h>
#include <epan/dfilter/dfilter-int.h>

Go to the source code of this file.

Classes

struct  df_func_def_t
 

Macros

#define dfunc_fail(dfw, node, ...)
 

Typedefs

typedef bool(* DFFuncType) (GSList *stack, uint32_t arg_count, df_cell_t *retval)
 
typedef ftenum_t(* DFSemCheckType) (dfwork_t *dfw, const char *func_name, ftenum_t lhs_ftype, GSList *param_list, df_loc_t func_loc)
 

Functions

WS_DLL_PUBLIC ftenum_t df_semcheck_param (dfwork_t *dfw, const char *func_name, ftenum_t logical_ftype, stnode_t *param, df_loc_t func_loc)
 Check semantic correctness of a parameter in a display filter function.
 
void df_func_init (void)
 Initialize the display filter functions.
 
WS_DLL_PUBLIC bool df_func_register (df_func_def_t *func)
 Register a display filter function.
 
WS_DLL_PUBLIC bool df_func_deregister (df_func_def_t *func)
 Deregisters a display filter function.
 
WS_DLL_PUBLIC df_func_def_tdf_func_lookup (const char *name)
 Lookup a display filter function definition record by name.
 
WS_DLL_PUBLIC GPtrArray * df_func_name_list (void)
 Returns a pointer to an array of registered display filter function names.
 
void df_func_cleanup (void)
 Cleans up resources used by display filter functions.
 

Detailed Description

Wireshark - Network traffic analyzer

Copyright 2006 Gilbert Ramirez gram@.nosp@m.alum.nosp@m.ni.ri.nosp@m.ce.e.nosp@m.du

SPDX-License-Identifier: GPL-2.0-or-later

Macro Definition Documentation

◆ dfunc_fail

#define dfunc_fail (   dfw,
  node,
  ... 
)
Value:
do { \
ws_noisy("Semantic check failed here."); \
dfilter_fail_throw(dfw, DF_ERROR_GENERIC, stnode_location(node), __VA_ARGS__); \
} while (0)

Function Documentation

◆ df_func_cleanup()

void df_func_cleanup ( void  )

Cleans up resources used by display filter functions.

This function destroys the hash table containing registered functions and unrefs the array of registered names, freeing up associated memory.

◆ df_func_deregister()

WS_DLL_PUBLIC bool df_func_deregister ( df_func_def_t func)

Deregisters a display filter function.

Parameters
funcPointer to the function definition record to deregister.
Returns
true if the function was successfully deregistered, false otherwise.

◆ df_func_init()

void df_func_init ( void  )

Initialize the display filter functions.

This function initializes the display filter functions by creating a hash table for registered functions and registering built-in functions.

◆ df_func_lookup()

WS_DLL_PUBLIC df_func_def_t * df_func_lookup ( const char *  name)

Lookup a display filter function definition record by name.

Parameters
nameThe name of the function to lookup.
Returns
A pointer to the function definition record if found, otherwise NULL.

◆ df_func_name_list()

WS_DLL_PUBLIC GPtrArray * df_func_name_list ( void  )

Returns a pointer to an array of registered display filter function names.

Note
You must call g_ptr_array_unref() when you are done.
Returns
A GPtrArray containing the names of all registered display filter functions.

◆ df_func_register()

WS_DLL_PUBLIC bool df_func_register ( df_func_def_t func)

Register a display filter function.

Registers a new display filter function definition with the system.

Parameters
funcPointer to the df_func_def_t structure containing the function definition.
Returns
Returns false if the function name already exists.

◆ df_semcheck_param()

WS_DLL_PUBLIC ftenum_t df_semcheck_param ( dfwork_t dfw,
const char *  func_name,
ftenum_t  logical_ftype,
stnode_t param,
df_loc_t  func_loc 
)

Check semantic correctness of a parameter in a display filter function.

Parameters
dfwThe current working state of the display filter evaluation.
func_nameThe name of the function being checked.
logical_ftypeThe expected type of the parameter.
paramThe parameter node to check.
func_locLocation information for error reporting.
Returns
True if the parameter is semantically correct, False otherwise.