21#include "ws_symbol_export.h"
52#define SUBSTREAM_UNUSED UINT64_C(0xFFFFFFFFFFFFFFFF)
64 char *filter_out_filter;
66 unsigned bytes_written[2];
85typedef char* (*follow_index_filter_func)(
unsigned stream,
unsigned sub_stream);
86typedef char* (*follow_address_filter_func)(
address* src_addr,
address* dst_addr,
int src_port,
int dst_port);
87typedef char* (*follow_port_to_display_func)(
wmem_allocator_t *allocator,
unsigned port);
88typedef uint32_t (*follow_stream_count_func)(void);
89typedef bool (*follow_sub_stream_id_func)(
unsigned stream,
unsigned sub_stream,
bool le,
unsigned *sub_stream_out);
92void register_follow_stream(
const int proto_id,
const char* tap_listener,
93 follow_conv_filter_func conv_filter, follow_index_filter_func index_filter, follow_address_filter_func address_filter,
94 follow_port_to_display_func port_to_display, tap_packet_cb tap_handler,
95 follow_stream_count_func stream_count, follow_sub_stream_id_func sub_stream_id);
union _stream_addr stream_addr
Represents an IP address for a stream, supporting both IPv4 and IPv6.
show_stream_t
Indicates the direction of a network stream for display purposes.
Definition follow.h:33
@ BOTH_HOSTS
Definition follow.h:36
@ FROM_CLIENT
Definition follow.h:34
@ FROM_SERVER
Definition follow.h:35
WS_DLL_PUBLIC void follow_reset_stream(follow_info_t *info)
Definition follow.c:152
WS_DLL_PUBLIC tap_packet_cb get_follow_tap_handler(register_follow_t *follower)
Definition follow.c:106
WS_DLL_PUBLIC follow_address_filter_func get_follow_address_func(register_follow_t *follower)
Definition follow.c:96
WS_DLL_PUBLIC const char * get_follow_tap_string(register_follow_t *follower)
Definition follow.c:78
WS_DLL_PUBLIC follow_stream_count_func get_follow_stream_count_func(register_follow_t *follower)
Definition follow.c:111
WS_DLL_PUBLIC follow_conv_filter_func get_follow_conv_func(register_follow_t *follower)
Definition follow.c:86
WS_DLL_PUBLIC register_follow_t * get_follow_by_proto_id(const int proto_id)
Definition follow.c:126
WS_DLL_PUBLIC follow_sub_stream_id_func get_follow_sub_stream_id_func(register_follow_t *follower)
Definition follow.c:116
WS_DLL_PUBLIC register_follow_t * get_follow_by_name(const char *proto_short_name)
Definition follow.c:121
WS_DLL_PUBLIC follow_index_filter_func get_follow_index_func(register_follow_t *follower)
Definition follow.c:91
void follow_init(void)
Definition follow.c:37
WS_DLL_PUBLIC char * follow_get_stat_tap_string(register_follow_t *follower)
Definition follow.c:141
WS_DLL_PUBLIC void follow_iterate_followers(wmem_foreach_func func, void *user_data)
Definition follow.c:136
WS_DLL_PUBLIC void follow_info_free(follow_info_t *follow_info)
Definition follow.c:205
WS_DLL_PUBLIC follow_port_to_display_func get_follow_port_to_display(register_follow_t *follower)
Definition follow.c:101
WS_DLL_PUBLIC int get_follow_proto_id(register_follow_t *follower)
Definition follow.c:70
WS_DLL_PUBLIC tap_packet_status follow_tvb_tap_listener(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_, const void *data, tap_flags_t flags)
Definition follow.c:212
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
uint64_t substream_id
Definition follow.h:74
Definition packet_info.h:43
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
Represents a 128-bit IPv6 address.
Definition inet_addr.h:27
Definition epan_dissect.h:28
nstime_t abs_ts
Definition follow.h:58
Definition file-pcapng.h:57
tap_packet_status
Definition tap.h:25
Represents an IP address for a stream, supporting both IPv4 and IPv6.
Definition follow.h:45
uint32_t ipv4
Definition follow.h:46
ws_in6_addr ipv6
Definition follow.h:47