Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions
dfvm.h File Reference
#include <wsutil/regex.h>
#include "dfilter-int.h"
#include "syntax-tree.h"
#include "drange.h"
#include "dfunctions.h"

Go to the source code of this file.

Classes

struct  dfvm_value_t
 
struct  dfvm_insn_t
 

Macros

#define ASSERT_DFVM_OP_NOT_REACHED(op)    ws_error("Invalid dfvm opcode '%s'.", dfvm_opcode_tostr(op))
 
#define dfvm_value_get_fvalue(val)   ((val)->value.fvalue_p->pdata[0])
 

Enumerations

enum  dfvm_value_type_t {
  EMPTY , FVALUE , HFINFO , RAW_HFINFO ,
  INSN_NUMBER , REGISTER , INTEGER , DRANGE ,
  FUNCTION_DEF , PCRE
}
 
enum  dfvm_opcode_t {
  DFVM_NULL , DFVM_IF_TRUE_GOTO , DFVM_IF_FALSE_GOTO , DFVM_CHECK_EXISTS ,
  DFVM_CHECK_EXISTS_R , DFVM_NOT , DFVM_RETURN , DFVM_READ_TREE ,
  DFVM_READ_TREE_R , DFVM_READ_REFERENCE , DFVM_READ_REFERENCE_R , DFVM_PUT_FVALUE ,
  DFVM_ALL_EQ , DFVM_ANY_EQ , DFVM_ALL_NE , DFVM_ANY_NE ,
  DFVM_ALL_GT , DFVM_ANY_GT , DFVM_ALL_GE , DFVM_ANY_GE ,
  DFVM_ALL_LT , DFVM_ANY_LT , DFVM_ALL_LE , DFVM_ANY_LE ,
  DFVM_ALL_CONTAINS , DFVM_ANY_CONTAINS , DFVM_ALL_MATCHES , DFVM_ANY_MATCHES ,
  DFVM_SET_ALL_IN , DFVM_SET_ANY_IN , DFVM_SET_ALL_NOT_IN , DFVM_SET_ANY_NOT_IN ,
  DFVM_SET_ADD , DFVM_SET_ADD_RANGE , DFVM_SET_CLEAR , DFVM_SLICE ,
  DFVM_LENGTH , DFVM_VALUE_STRING , DFVM_BITWISE_AND , DFVM_UNARY_MINUS ,
  DFVM_ADD , DFVM_SUBTRACT , DFVM_MULTIPLY , DFVM_DIVIDE ,
  DFVM_MODULO , DFVM_CALL_FUNCTION , DFVM_STACK_PUSH , DFVM_STACK_POP ,
  DFVM_NOT_ALL_ZERO , DFVM_NO_OP
}
 

Functions

const char * dfvm_opcode_tostr (dfvm_opcode_t code)
 
dfvm_insn_tdfvm_insn_new (dfvm_opcode_t op)
 
void dfvm_insn_replace_no_op (dfvm_insn_t *insn)
 
void dfvm_insn_free (dfvm_insn_t *insn)
 
dfvm_value_tdfvm_value_new (dfvm_value_type_t type)
 
dfvm_value_tdfvm_value_ref (dfvm_value_t *v)
 
void dfvm_value_unref (dfvm_value_t *v)
 
dfvm_value_tdfvm_value_new_fvalue (fvalue_t *fv)
 
dfvm_value_tdfvm_value_new_hfinfo (header_field_info *hfinfo, bool raw)
 
dfvm_value_tdfvm_value_new_register (int reg)
 
dfvm_value_tdfvm_value_new_drange (drange_t *dr)
 
dfvm_value_tdfvm_value_new_funcdef (df_func_def_t *funcdef)
 
dfvm_value_tdfvm_value_new_pcre (ws_regex_t *re)
 
dfvm_value_tdfvm_value_new_uint (unsigned num)
 
void dfvm_dump (FILE *f, dfilter_t *df, uint16_t flags)
 
char * dfvm_dump_str (wmem_allocator_t *alloc, dfilter_t *df, uint16_t flags)
 
bool dfvm_apply (dfilter_t *df, proto_tree *tree)
 
bool dfvm_apply_full (dfilter_t *df, proto_tree *tree, GPtrArray **fvals)
 
fvalue_tdfvm_get_raw_fvalue (const field_info *fi)
 

Detailed Description

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 2001 Gerald Combs

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