11 #ifndef __STATS_TREE_H
12 #define __STATS_TREE_H
19 #include "ws_symbol_export.h"
25 #define STAT_TREE_ROOT "root"
27 #define ST_FLG_AVERAGE 0x10000000
28 #define ST_FLG_ROOTCHILD 0x20000000
29 #define ST_FLG_DEF_NOEXPAND 0x01000000
30 #define ST_FLG_SORT_DESC 0x00800000
31 #define ST_FLG_SORT_TOP 0x00400000
32 #define ST_FLG_SRTCOL_MASK 0x000F0000
33 #define ST_FLG_SRTCOL_SHIFT 16
35 #define ST_FLG_MASK (ST_FLG_AVERAGE|ST_FLG_ROOTCHILD|ST_FLG_DEF_NOEXPAND| \
36 ST_FLG_SORT_TOP|ST_FLG_SORT_DESC|ST_FLG_SRTCOL_MASK)
38 #define ST_SORT_COL_NAME 1
39 #define ST_SORT_COL_COUNT 2
40 #define ST_SORT_COL_AVG 3
41 #define ST_SORT_COL_MIN 4
42 #define ST_SORT_COL_MAX 5
43 #define ST_SORT_COL_BURSTRATE 6
56 typedef void (*stat_tree_init_cb)(
stats_tree *);
59 typedef void (*stat_tree_cleanup_cb)(
stats_tree *);
61 typedef enum _stat_node_datatype {
74 WS_DLL_PUBLIC
void stats_tree_register(
const gchar *tapname,
78 stat_tree_packet_cb packet,
79 stat_tree_init_cb init,
80 stat_tree_cleanup_cb cleanup);
90 WS_DLL_PUBLIC
void stats_tree_register_plugin(
const gchar *tapname,
94 stat_tree_packet_cb packet,
95 stat_tree_init_cb init,
96 stat_tree_cleanup_cb cleanup);
107 WS_DLL_PUBLIC
void stats_tree_register_with_group(
const gchar *tapname,
111 stat_tree_packet_cb packet,
112 stat_tree_init_cb init,
113 stat_tree_cleanup_cb cleanup,
116 WS_DLL_PUBLIC
int stats_tree_parent_id_by_name(
stats_tree *st,
const gchar *parent_name);
125 WS_DLL_PUBLIC
int stats_tree_create_node(
stats_tree *st,
129 gboolean with_children);
132 WS_DLL_PUBLIC
int stats_tree_create_node_by_pname(
stats_tree *st,
134 const gchar *parent_name,
136 gboolean with_children);
143 WS_DLL_PUBLIC
int stats_tree_create_range_node(
stats_tree *st,
148 WS_DLL_PUBLIC
int stats_tree_create_range_node_string(
stats_tree *st,
154 WS_DLL_PUBLIC
int stats_tree_range_node_with_pname(
stats_tree *st,
156 const gchar *parent_name,
160 WS_DLL_PUBLIC
int stats_tree_tick_range(
stats_tree *st,
165 #define stats_tree_tick_range_by_pname(st,name,parent_name,value_in_range) \
166 stats_tree_tick_range((st),(name),stats_tree_parent_id_by_name((st),(parent_name),(value_in_range)))
169 WS_DLL_PUBLIC
int stats_tree_create_pivot(
stats_tree *st,
173 WS_DLL_PUBLIC
int stats_tree_create_pivot_by_pname(
stats_tree *st,
175 const gchar *parent_name);
177 WS_DLL_PUBLIC
int stats_tree_tick_pivot(
stats_tree *st,
179 const gchar *pivot_value);
181 extern void stats_tree_cleanup(
void);
190 typedef enum _manip_node_mode {
198 WS_DLL_PUBLIC
int stats_tree_manip_node_int(manip_node_mode mode,
202 gboolean with_children,
205 WS_DLL_PUBLIC
int stats_tree_manip_node_float(manip_node_mode mode,
209 gboolean with_children,
212 #define increase_stat_node(st,name,parent_id,with_children,value) \
213 (stats_tree_manip_node_int(MN_INCREASE,(st),(name),(parent_id),(with_children),(value)))
215 #define tick_stat_node(st,name,parent_id,with_children) \
216 (stats_tree_manip_node_int(MN_INCREASE,(st),(name),(parent_id),(with_children),1))
218 #define set_stat_node(st,name,parent_id,with_children,value) \
219 (stats_tree_manip_node_int(MN_SET,(st),(name),(parent_id),(with_children),value))
221 #define zero_stat_node(st,name,parent_id,with_children) \
222 (stats_tree_manip_node_int(MN_SET,(st),(name),(parent_id),(with_children),0))
231 #define avg_stat_node_add_value_notick(st,name,parent_id,with_children,value) \
232 (stats_tree_manip_node_int(MN_AVERAGE_NOTICK,(st),(name),(parent_id),(with_children),value))
235 #define avg_stat_node_add_value_int(st,name,parent_id,with_children,value) \
236 (stats_tree_manip_node_int(MN_AVERAGE,(st),(name),(parent_id),(with_children),value))
238 #define avg_stat_node_add_value_float(st,name,parent_id,with_children,value) \
239 (stats_tree_manip_node_float(MN_AVERAGE,(st),(name),(parent_id),(with_children),value))
242 #define stat_node_set_flags(st,name,parent_id,with_children,flags) \
243 (stats_tree_manip_node_int(MN_SET_FLAGS,(st),(name),(parent_id),(with_children),flags))
246 #define stat_node_clear_flags(st,name,parent_id,with_children,flags) \
247 (stats_tree_manip_node_int(MN_CLEAR_FLAGS,(st),(name),(parent_id),(with_children),flags))
enum register_stat_group_e register_stat_group_t
Definition: packet_info.h:44
Definition: stats_tree_priv.h:102
Definition: packet-epl-profile-parser.c:83
Definition: epan_dissect.h:28
tap_packet_status
Definition: tap.h:25