Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
rtd_table.h
Go to the documentation of this file.
1
11#pragma once
12#include "tap.h"
13#include "timestats.h"
14#include <wsutil/value_string.h>
15#include <epan/wmem_scopes.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif /* __cplusplus */
20
24typedef struct _rtd_timestat {
25 unsigned num_timestat;
27 uint32_t open_req_num;
28 uint32_t disc_rsp_num;
29 uint32_t req_dup_num;
30 uint32_t rsp_dup_num;
32
41
48
50struct register_rtd;
51typedef struct register_rtd register_rtd_t;
52
55extern void rtd_table_init(void);
56
57typedef void (*rtd_gui_init_cb)(rtd_stat_table* rtd, void* gui_data);
58typedef void (*rtd_filter_check_cb)(const char *opt_arg, const char **filter, char** err);
59
70WS_DLL_PUBLIC void register_rtd_table(const int proto_id, const char* tap_listener, unsigned num_tables, unsigned num_timestats, const value_string* vs_type,
71 tap_packet_cb rtd_packet_func, rtd_filter_check_cb filter_check_cb);
72
78WS_DLL_PUBLIC int get_rtd_proto_id(register_rtd_t* rtd);
79
85WS_DLL_PUBLIC const char* get_rtd_tap_listener_name(register_rtd_t* rtd);
86
92WS_DLL_PUBLIC tap_packet_cb get_rtd_packet_func(register_rtd_t* rtd);
93
99WS_DLL_PUBLIC unsigned get_rtd_num_tables(register_rtd_t* rtd);
100
106WS_DLL_PUBLIC const value_string* get_rtd_value_string(register_rtd_t* rtd);
107
113WS_DLL_PUBLIC register_rtd_t* get_rtd_table_by_name(const char* name);
114
119WS_DLL_PUBLIC void free_rtd_table(rtd_stat_table* table);
120
125WS_DLL_PUBLIC void reset_rtd_table(rtd_stat_table* table);
126
133WS_DLL_PUBLIC void rtd_table_iterate_tables(wmem_foreach_func func, void *user_data);
134
142WS_DLL_PUBLIC void rtd_table_get_filter(register_rtd_t* rtd, const char *opt_arg, const char **filter, char** err);
143
151WS_DLL_PUBLIC void rtd_table_dissector_init(register_rtd_t* rtd, rtd_stat_table* table, rtd_gui_init_cb gui_callback, void *callback_data);
152
159WS_DLL_PUBLIC char* rtd_table_get_tap_string(register_rtd_t* rtd);
160
161#ifdef __cplusplus
162}
163#endif /* __cplusplus */
164
165/*
166 * Editor modelines
167 *
168 * Local Variables:
169 * c-basic-offset: 4
170 * tab-width: 8
171 * indent-tabs-mode: nil
172 * End:
173 *
174 * ex: set shiftwidth=4 tabstop=8 expandtab:
175 * :indentSize=4:tabSize=8:noTabs=true:
176 */
bool(* wmem_foreach_func)(const void *key, void *value, void *userdata)
Function type for processing one node of a tree during a traversal.
Definition wmem_tree.h:389
struct _rtd_data_t rtd_data_t
WS_DLL_PUBLIC const value_string * get_rtd_value_string(register_rtd_t *rtd)
Definition rtd_table.c:52
struct _rtd_stat_table rtd_stat_table
Aggregates RTD statistics across all tracked request/response categories for a single protocol tap.
WS_DLL_PUBLIC register_rtd_t * get_rtd_table_by_name(const char *name)
Definition rtd_table.c:108
WS_DLL_PUBLIC char * rtd_table_get_tap_string(register_rtd_t *rtd)
Definition rtd_table.c:113
WS_DLL_PUBLIC void free_rtd_table(rtd_stat_table *table)
Definition rtd_table.c:87
WS_DLL_PUBLIC void register_rtd_table(const int proto_id, const char *tap_listener, unsigned num_tables, unsigned num_timestats, const value_string *vs_type, tap_packet_cb rtd_packet_func, rtd_filter_check_cb filter_check_cb)
Definition rtd_table.c:65
WS_DLL_PUBLIC void rtd_table_iterate_tables(wmem_foreach_func func, void *user_data)
Definition rtd_table.c:158
WS_DLL_PUBLIC int get_rtd_proto_id(register_rtd_t *rtd)
Definition rtd_table.c:30
struct _rtd_timestat rtd_timestat
Holds response time delay (RTD) statistics for a single request/response category.
WS_DLL_PUBLIC void rtd_table_get_filter(register_rtd_t *rtd, const char *opt_arg, const char **filter, char **err)
Definition rtd_table.c:120
WS_DLL_PUBLIC void rtd_table_dissector_init(register_rtd_t *rtd, rtd_stat_table *table, rtd_gui_init_cb gui_callback, void *callback_data)
Definition rtd_table.c:141
WS_DLL_PUBLIC tap_packet_cb get_rtd_packet_func(register_rtd_t *rtd)
Definition rtd_table.c:43
WS_DLL_PUBLIC void reset_rtd_table(rtd_stat_table *table)
Definition rtd_table.c:100
WS_DLL_PUBLIC const char * get_rtd_tap_listener_name(register_rtd_t *rtd)
Definition rtd_table.c:38
WS_DLL_PUBLIC unsigned get_rtd_num_tables(register_rtd_t *rtd)
Definition rtd_table.c:48
void rtd_table_init(void)
Definition rtd_table.c:59
Definition rtd_table.h:44
void * user_data
Definition rtd_table.h:46
rtd_stat_table stat_table
Definition rtd_table.h:45
Aggregates RTD statistics across all tracked request/response categories for a single protocol tap.
Definition rtd_table.h:36
unsigned num_rtds
Definition rtd_table.h:38
rtd_timestat * time_stats
Definition rtd_table.h:39
char * filter
Definition rtd_table.h:37
Holds response time delay (RTD) statistics for a single request/response category.
Definition rtd_table.h:24
uint32_t disc_rsp_num
Definition rtd_table.h:28
unsigned num_timestat
Definition rtd_table.h:25
uint32_t rsp_dup_num
Definition rtd_table.h:30
uint32_t req_dup_num
Definition rtd_table.h:29
timestat_t * rtd
Definition rtd_table.h:26
uint32_t open_req_num
Definition rtd_table.h:27
Accumulates time delay samples for computing min, max, total, and variance statistics over a set of m...
Definition timestats.h:22
Mapping between a 32-bit integer value and its string representation.
Definition value_string.h:33
Definition rtd_table.c:20