12 #ifndef __CONVERSATION_TABLE_H__
13 #define __CONVERSATION_TABLE_H__
42 CONV_DIR_A_TO_FROM_ANY,
45 CONV_DIR_ANY_TO_FROM_B,
83 typedef const char* (*conv_get_filter_type)(
struct _conversation_item_t* item, conv_filter_type_e filter);
86 conv_get_filter_type get_filter_type;
90 typedef const char* (*endpoint_get_filter_type)(
struct _endpoint_item_t* item, conv_filter_type_e filter_type);
93 endpoint_get_filter_type get_filter_type;
100 #define CONV_FILTER_INVALID "INVALID"
104 typedef void (*conv_gui_init_cb)(
struct register_ct* ct,
const char *filter);
106 typedef void (*endpoint_gui_init_cb)(
struct register_ct* ct,
const char *filter);
175 #define ENDPOINT_TAP_PREFIX "endpoints"
184 WS_DLL_PUBLIC
void register_conversation_table(
const int proto_id, gboolean hide_ports, tap_packet_cb conv_packet_func, tap_packet_cb endpoint_packet_func);
216 WS_DLL_PUBLIC tap_packet_cb get_hostlist_packet_func(
register_ct_t* ct);
244 WS_DLL_PUBLIC
void hostlist_table_set_gui_info(endpoint_gui_init_cb init_cb);
271 WS_DLL_PUBLIC
void reset_hostlist_table_data(
conv_hash_t *ch);
289 WS_DLL_PUBLIC
void dissector_hostlist_init(
const char *opt_arg,
void* userdata);
342 WS_DLL_PUBLIC
char *get_hostlist_filter(
endpoint_item_t *endpoint_item);
359 guint32 src_port, guint32 dst_port,
int num_frames,
int num_bytes,
nstime_t *ts,
nstime_t *abs_ts,
381 guint32 dst_port,
conv_id_t conv_id,
int num_frames,
int num_bytes,
383 conversation_type ctype);
391 guint32 dst_port,
conv_id_t conv_id,
int num_frames,
int num_bytes,
393 conversation_type ctype, guint32 frameid,
int (*proto_conv_cb)(
conversation_t *));
407 guint32 port, gboolean sender,
int num_frames,
int num_bytes,
et_dissector_info_t *et_info, endpoint_type etype);
412 guint32 port, gboolean sender,
int num_frames,
int num_bytes,
et_dissector_info_t *et_info, endpoint_type etype);
uint32_t conv_id_t
Definition: conv_id.h:34
WS_DLL_PUBLIC guint conversation_table_get_num(void)
Definition: conversation_table.c:204
WS_DLL_PUBLIC conv_item_t * add_conversation_table_data_with_conv_id(conv_hash_t *ch, const address *src, const address *dst, guint32 src_port, guint32 dst_port, conv_id_t conv_id, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype)
Definition: conversation_table.c:633
WS_DLL_PUBLIC register_ct_t * get_conversation_by_proto_id(int proto_id)
Definition: conversation_table.c:117
struct _conversation_extension_tcp_t conv_extension_tcp_t
WS_DLL_PUBLIC int get_conversation_proto_id(register_ct_t *ct)
Definition: conversation_table.c:38
WS_DLL_PUBLIC void add_conversation_table_data_extended(conv_hash_t *ch, const address *src, const address *dst, guint32 src_port, guint32 dst_port, conv_id_t conv_id, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype, guint32 frameid, int(*proto_conv_cb)(conversation_t *))
Definition: conversation_table.c:777
WS_DLL_PUBLIC char * get_endpoint_port(wmem_allocator_t *allocator, endpoint_item_t *item, gboolean resolve_names)
Definition: conversation_table.c:351
WS_DLL_PUBLIC char * get_conversation_address(wmem_allocator_t *allocator, address *addr, gboolean resolve_names)
Definition: conversation_table.c:323
WS_DLL_PUBLIC gboolean get_conversation_hide_ports(register_ct_t *ct)
Definition: conversation_table.c:33
WS_DLL_PUBLIC void register_conversation_table(const int proto_id, gboolean hide_ports, tap_packet_cb conv_packet_func, tap_packet_cb endpoint_packet_func)
Definition: conversation_table.c:123
WS_DLL_PUBLIC void dissector_endpoint_init(const char *opt_arg, void *userdata)
Definition: conversation_table.c:84
struct _conversation_item_t conv_item_t
WS_DLL_PUBLIC tap_packet_cb get_conversation_packet_func(register_ct_t *ct)
Definition: conversation_table.c:46
WS_DLL_PUBLIC void conversation_table_iterate_tables(wmem_foreach_func func, void *user_data)
Definition: conversation_table.c:199
WS_DLL_PUBLIC char * get_conversation_filter(conv_item_t *conv_item, conv_direction_e direction)
Definition: conversation_table.c:419
struct _conversation_key_t conv_key_t
WS_DLL_PUBLIC void add_conversation_table_data(conv_hash_t *ch, const address *src, const address *dst, guint32 src_port, guint32 dst_port, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype)
Definition: conversation_table.c:626
WS_DLL_PUBLIC tap_packet_cb get_endpoint_packet_func(register_ct_t *ct)
Definition: conversation_table.c:51
WS_DLL_PUBLIC void reset_endpoint_table_data(conv_hash_t *ch)
Definition: conversation_table.c:293
struct _endpoint_item_t endpoint_item_t
WS_DLL_PUBLIC char * get_endpoint_filter(endpoint_item_t *endpoint_item)
Definition: conversation_table.c:577
WS_DLL_PUBLIC void add_endpoint_table_data(conv_hash_t *ch, const address *addr, guint32 port, gboolean sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype)
Definition: conversation_table.c:854
WS_DLL_PUBLIC void endpoint_table_set_gui_info(endpoint_gui_init_cb init_cb)
Definition: conversation_table.c:188
WS_DLL_PUBLIC void conversation_table_set_gui_info(conv_gui_init_cb init_cb)
Definition: conversation_table.c:164
struct _conversation_hash_t conv_hash_t
WS_DLL_PUBLIC void reset_conversation_table_data(conv_hash_t *ch)
Definition: conversation_table.c:268
WS_DLL_PUBLIC char * get_conversation_port(wmem_allocator_t *allocator, guint32 port, conversation_type ctype, gboolean resolve_names)
Definition: conversation_table.c:332
WS_DLL_PUBLIC void dissector_conversation_init(const char *opt_arg, void *userdata)
Definition: conversation_table.c:65
bool(* wmem_foreach_func)(const void *key, void *value, void *userdata)
Definition: wmem_tree.h:220
Definition: conversation_table.h:116
guint64 flows
Definition: conversation_table.h:117
Definition: conversation_table.h:53
guint flags
Definition: conversation_table.h:57
GArray * conv_array
Definition: conversation_table.h:55
void * user_data
Definition: conversation_table.h:56
GHashTable * hashtable
Definition: conversation_table.h:54
Definition: conversation_table.h:121
conversation_type ctype
Definition: conversation_table.h:125
nstime_t start_time
Definition: conversation_table.h:140
guint32 dst_port
Definition: conversation_table.h:127
conv_id_t conv_id
Definition: conversation_table.h:128
address src_address
Definition: conversation_table.h:123
nstime_t start_abs_time
Definition: conversation_table.h:142
guint64 tx_bytes
Definition: conversation_table.h:133
ct_dissector_info_t * dissector_info
Definition: conversation_table.h:122
guint64 tx_bytes_total
Definition: conversation_table.h:138
address dst_address
Definition: conversation_table.h:124
guint64 rx_bytes_total
Definition: conversation_table.h:137
gboolean filtered
Definition: conversation_table.h:144
guint64 tx_frames_total
Definition: conversation_table.h:136
guint64 rx_frames_total
Definition: conversation_table.h:135
guint64 rx_frames
Definition: conversation_table.h:130
guint64 tx_frames
Definition: conversation_table.h:131
guint32 src_port
Definition: conversation_table.h:126
guint64 rx_bytes
Definition: conversation_table.h:132
nstime_t stop_time
Definition: conversation_table.h:141
conv_extension_tcp_t ext_tcp
Definition: conversation_table.h:146
Definition: conversation_table.h:61
Definition: conversation_table.h:85
Definition: conversation_table.h:150
address myaddress
Definition: conversation_table.h:152
gboolean modified
Definition: conversation_table.h:166
gboolean filtered
Definition: conversation_table.h:167
guint64 rx_frames_total
Definition: conversation_table.h:161
et_dissector_info_t * dissector_info
Definition: conversation_table.h:151
guint64 rx_bytes_total
Definition: conversation_table.h:163
guint64 rx_frames
Definition: conversation_table.h:156
endpoint_type etype
Definition: conversation_table.h:153
guint64 tx_frames
Definition: conversation_table.h:157
guint32 port
Definition: conversation_table.h:154
guint64 tx_bytes
Definition: conversation_table.h:159
guint64 tx_bytes_total
Definition: conversation_table.h:164
guint64 tx_frames_total
Definition: conversation_table.h:162
guint64 rx_bytes
Definition: conversation_table.h:158
Definition: conversation_table.h:92
Definition: wmem_allocator.h:27
Definition: conversation.h:220
Definition: conversation_table.h:69
Definition: conversation_table.c:24