Wireshark
2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
epan
dfilter
dfvm.h
1
/*
2
* Wireshark - Network traffic analyzer
3
* By Gerald Combs <gerald@wireshark.org>
4
* Copyright 2001 Gerald Combs
5
*
6
* SPDX-License-Identifier: GPL-2.0-or-later
7
*/
8
9
#ifndef DFVM_H
10
#define DFVM_H
11
12
#include <
epan/proto.h
>
13
#include "dfilter-int.h"
14
#include "
syntax-tree.h
"
15
#include "drange.h"
16
#include "dfunctions.h"
17
18
typedef
enum
{
19
EMPTY,
20
FVALUE,
21
HFINFO,
22
INSN_NUMBER,
23
REGISTER,
24
INTEGER,
25
DRANGE,
26
FUNCTION_DEF
27
} dfvm_value_type_t;
28
29
typedef
struct
{
30
dfvm_value_type_t type;
31
32
union
{
33
fvalue_t
*fvalue;
34
guint32 numeric;
35
drange_t
*drange;
36
header_field_info
*hfinfo;
37
df_func_def_t
*funcdef;
38
} value;
39
40
}
dfvm_value_t
;
41
42
43
typedef
enum
{
44
45
IF_TRUE_GOTO,
46
IF_FALSE_GOTO,
47
CHECK_EXISTS,
48
NOT,
49
RETURN,
50
READ_TREE,
51
PUT_FVALUE,
52
ANY_EQ,
53
ANY_NE,
54
ANY_GT,
55
ANY_GE,
56
ANY_LT,
57
ANY_LE,
58
ANY_BITWISE_AND,
59
ANY_CONTAINS,
60
ANY_MATCHES,
61
MK_RANGE,
62
CALL_FUNCTION,
63
ANY_IN_RANGE
64
65
} dfvm_opcode_t;
66
67
typedef
struct
{
68
int
id;
69
dfvm_opcode_t op;
70
dfvm_value_t
*arg1;
71
dfvm_value_t
*arg2;
72
dfvm_value_t
*arg3;
73
dfvm_value_t
*arg4;
74
}
dfvm_insn_t
;
75
76
dfvm_insn_t
*
77
dfvm_insn_new(dfvm_opcode_t op);
78
79
void
80
dfvm_insn_free(
dfvm_insn_t
*insn);
81
82
dfvm_value_t
*
83
dfvm_value_new(dfvm_value_type_t type);
84
85
void
86
dfvm_dump(FILE *f,
dfilter_t
*df);
87
88
gboolean
89
dfvm_apply(
dfilter_t
*df,
proto_tree
*tree);
90
91
void
92
dfvm_init_const(
dfilter_t
*df);
93
94
#endif
_header_field_info
Definition:
proto.h:622
syntax-tree.h
proto.h
epan_dfilter
Definition:
dfilter-int.h:19
_fvalue_t
Definition:
ftypes.h:200
dfvm_insn_t
Definition:
dfvm.h:67
_proto_node
Definition:
proto.h:759
_drange
Definition:
drange.h:41
dfvm_value_t
Definition:
dfvm.h:29
df_func_def_t
Definition:
dfunctions.h:30
Generated by
1.8.11