Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
sequence_analysis.h
Go to the documentation of this file.
1
19#ifndef __EPAN_SEQUENCE_ANALYSIS_H__
20#define __EPAN_SEQUENCE_ANALYSIS_H__
21
22#include "ws_symbol_export.h"
23
24#include <glib.h>
25
26#include "packet_info.h"
27#include "tap.h"
28#include "address.h"
29#include "wsutil/file_util.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif /* __cplusplus */
34
35#define MAX_NUM_NODES 40
36
38typedef enum _ga_info_type {
39 GA_INFO_TYPE_NONE=0,
40 GA_INFO_TYPE_RTP
42
44typedef struct _seq_analysis_item {
45 uint32_t frame_number;
46 address src_addr;
47 uint16_t port_src;
48 address dst_addr;
49 uint16_t port_dst;
51 char *time_str;
52 char *comment;
53 uint16_t conv_num;
54 unsigned fg_color;
55 unsigned bg_color;
57 bool display;
58 unsigned src_node;
59 unsigned dst_node;
60 uint16_t line_style;
62 void *info_ptr;
64
66typedef struct _seq_analysis_info {
67 const char* name;
68 bool any_addr;
69 int nconv;
70 GQueue* items;
71 GHashTable *ht;
72 address nodes[MAX_NUM_NODES];
73 uint8_t occurrence[MAX_NUM_NODES];
74 uint32_t num_nodes;
76
79
80WS_DLL_PUBLIC void register_seq_analysis(const char* name, const char* ui_name, const int proto_id, const char* tap_listener, unsigned tap_flags, tap_packet_cb tap_func);
81
87WS_DLL_PUBLIC const char* sequence_analysis_get_name(register_analysis_t* analysis);
88
94WS_DLL_PUBLIC const char* sequence_analysis_get_tap_listener_name(register_analysis_t* analysis);
95
101WS_DLL_PUBLIC const char* sequence_analysis_get_ui_name(register_analysis_t* analysis);
102
108WS_DLL_PUBLIC tap_packet_cb sequence_analysis_get_packet_func(register_analysis_t* analysis);
109
115WS_DLL_PUBLIC unsigned sequence_analysis_get_tap_flags(register_analysis_t* analysis);
116
126
133
140
146WS_DLL_PUBLIC register_analysis_t* sequence_analysis_find_by_name(const char* name);
147
153WS_DLL_PUBLIC void sequence_analysis_table_iterate_tables(wmem_foreach_func func, void *user_data);
154
159
163WS_DLL_PUBLIC void sequence_analysis_info_free(seq_analysis_info_t * sainfo);
164
168WS_DLL_PUBLIC void sequence_analysis_list_sort(seq_analysis_info_t *sainfo);
169
174WS_DLL_PUBLIC void sequence_analysis_list_free(seq_analysis_info_t *sainfo);
175
181WS_DLL_PUBLIC int sequence_analysis_get_nodes(seq_analysis_info_t *sainfo);
182
187WS_DLL_PUBLIC void sequence_analysis_free_nodes(seq_analysis_info_t *sainfo);
188
189
196WS_DLL_PUBLIC void sequence_analysis_dump_to_file(FILE *of, seq_analysis_info_t *sainfo, unsigned first_node);
197
198#ifdef __cplusplus
199}
200#endif /* __cplusplus */
201
202#endif /* __EPAN_SEQUENCE_ANALYSIS_H__ */
203
204/*
205 * Editor modelines
206 *
207 * Local Variables:
208 * c-basic-offset: 4
209 * tab-width: 8
210 * indent-tabs-mode: nil
211 * End:
212 *
213 * ex: set shiftwidth=4 tabstop=8 expandtab:
214 * :indentSize=4:tabSize=8:noTabs=true:
215 */
bool(* wmem_foreach_func)(const void *key, void *value, void *userdata)
Definition wmem_tree.h:247
WS_DLL_PUBLIC int sequence_analysis_get_nodes(seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:341
WS_DLL_PUBLIC register_analysis_t * sequence_analysis_find_by_name(const char *name)
Definition sequence_analysis.c:89
WS_DLL_PUBLIC void sequence_analysis_dump_to_file(FILE *of, seq_analysis_info_t *sainfo, unsigned first_node)
WS_DLL_PUBLIC seq_analysis_info_t * sequence_analysis_info_new(void)
Definition sequence_analysis.c:163
enum _ga_info_type ga_info_type
struct _seq_analysis_item seq_analysis_item_t
WS_DLL_PUBLIC void sequence_analysis_use_color_filter(packet_info *pinfo, seq_analysis_item_t *sai)
Definition sequence_analysis.c:127
WS_DLL_PUBLIC const char * sequence_analysis_get_name(register_analysis_t *analysis)
Definition sequence_analysis.c:63
WS_DLL_PUBLIC const char * sequence_analysis_get_tap_listener_name(register_analysis_t *analysis)
Definition sequence_analysis.c:73
WS_DLL_PUBLIC seq_analysis_item_t * sequence_analysis_create_sai_with_addresses(packet_info *pinfo, seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:99
struct _seq_analysis_info seq_analysis_info_t
_ga_info_type
Definition sequence_analysis.h:38
WS_DLL_PUBLIC tap_packet_cb sequence_analysis_get_packet_func(register_analysis_t *analysis)
Definition sequence_analysis.c:78
WS_DLL_PUBLIC void sequence_analysis_table_iterate_tables(wmem_foreach_func func, void *user_data)
Definition sequence_analysis.c:94
WS_DLL_PUBLIC void sequence_analysis_free_nodes(seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:354
WS_DLL_PUBLIC void sequence_analysis_list_sort(seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:228
WS_DLL_PUBLIC void sequence_analysis_use_col_info_as_label_comment(packet_info *pinfo, seq_analysis_item_t *sai)
Definition sequence_analysis.c:136
WS_DLL_PUBLIC unsigned sequence_analysis_get_tap_flags(register_analysis_t *analysis)
Definition sequence_analysis.c:83
WS_DLL_PUBLIC const char * sequence_analysis_get_ui_name(register_analysis_t *analysis)
Definition sequence_analysis.c:68
WS_DLL_PUBLIC void sequence_analysis_list_free(seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:235
WS_DLL_PUBLIC void sequence_analysis_info_free(seq_analysis_info_t *sainfo)
Definition sequence_analysis.c:173
Definition address.h:56
Definition packet_info.h:43
Definition sequence_analysis.h:66
uint8_t occurrence[MAX_NUM_NODES]
Definition sequence_analysis.h:73
GHashTable * ht
Definition sequence_analysis.h:71
bool any_addr
Definition sequence_analysis.h:68
uint32_t num_nodes
Definition sequence_analysis.h:74
address nodes[MAX_NUM_NODES]
Definition sequence_analysis.h:72
const char * name
Definition sequence_analysis.h:67
int nconv
Definition sequence_analysis.h:69
GQueue * items
Definition sequence_analysis.h:70
Definition sequence_analysis.h:44
uint16_t line_style
Definition sequence_analysis.h:60
unsigned dst_node
Definition sequence_analysis.h:59
bool display
Definition sequence_analysis.h:57
unsigned bg_color
Definition sequence_analysis.h:55
char * comment
Definition sequence_analysis.h:52
void * info_ptr
Definition sequence_analysis.h:62
char * time_str
Definition sequence_analysis.h:51
bool has_color_filter
Definition sequence_analysis.h:56
uint16_t conv_num
Definition sequence_analysis.h:53
char * frame_label
Definition sequence_analysis.h:50
unsigned fg_color
Definition sequence_analysis.h:54
ga_info_type info_type
Definition sequence_analysis.h:61
unsigned src_node
Definition sequence_analysis.h:58
Definition sequence_analysis.c:27