| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
conversation_table.h
Go to the documentation of this file.
1/* conversation_table.h
2 * GUI independent helper routines common to all conversations taps.
3 * Refactored original conversations_table by Ronnie Sahlberg
4 *
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11#pragma once
12#include "tap.h"
13#include "conversation.h"
14#include <epan/wmem_scopes.h>
15
16#ifdef __cplusplus
17 extern "C" {
18#endif /* __cplusplus */
19
37 typedef uint32_t conv_id_t;
38#define CONV_ID_UNSET UINT32_MAX
39
43
47 typedef enum {
48 CONV_FT_SRC_ADDRESS,
49 CONV_FT_DST_ADDRESS,
50 CONV_FT_ANY_ADDRESS,
51 CONV_FT_SRC_PORT,
52 CONV_FT_DST_PORT,
53 CONV_FT_ANY_PORT
54} conv_filter_type_e;
55
56
60 typedef enum {
61 CONV_DIR_A_TO_FROM_B,
62 CONV_DIR_A_TO_B,
63 CONV_DIR_A_FROM_B,
64 CONV_DIR_A_TO_FROM_ANY,
65 CONV_DIR_A_TO_ANY,
66 CONV_DIR_A_FROM_ANY,
67 CONV_DIR_ANY_TO_FROM_B,
68 CONV_DIR_ANY_TO_B,
69 CONV_DIR_ANY_FROM_B
70} conv_direction_e;
71
75 typedef struct _conversation_hash_t {
76 GHashTable *hashtable;
77 GArray *conv_array;
78 void *user_data;
79 unsigned flags;
80} conv_hash_t;
81
85 typedef struct _conversation_key_t {
86 address addr1;
87 address addr2;
88 uint32_t port1;
89 uint32_t port2;
90 conv_id_t conv_id;
91} conv_key_t;
92
96 typedef struct {
97 address myaddress;
98 uint32_t port;
99} endpoint_key_t;
100
101 struct _conversation_item_t;
102 typedef const char* (*conv_get_filter_type)(struct _conversation_item_t* item, conv_filter_type_e filter);
103
107 typedef struct _ct_dissector_info {
108 conv_get_filter_type get_filter_type;
109} ct_dissector_info_t;
110
111 struct _endpoint_item_t;
112
119 typedef const char* (*endpoint_get_filter_type)(struct _endpoint_item_t* item, conv_filter_type_e filter_type);
120
124 typedef struct _et_dissector_info {
125 endpoint_get_filter_type get_filter_type;
126} et_dissector_info_t;
127
128#define CONV_FILTER_INVALID "INVALID"
129
130
131 struct register_ct;
132 typedef void (*conv_gui_init_cb)(struct register_ct* ct, const char *filter);
133
134 typedef void (*endpoint_gui_init_cb)(struct register_ct* ct, const char *filter);
135
141 typedef struct register_ct register_ct_t;
142
144 typedef struct _conversation_extension_tcp_t {
145 uint64_t flows;
146} conv_extension_tcp_t;
147
149 typedef struct _conversation_item_t {
150 ct_dissector_info_t *dissector_info;
151 address src_address;
152 address dst_address;
153 conversation_type ctype;
154 uint32_t src_port;
155 uint32_t dst_port;
156 conv_id_t conv_id;
157
158 uint64_t rx_frames;
159 uint64_t tx_frames;
160 uint64_t rx_bytes;
161 uint64_t tx_bytes;
162
163 uint64_t rx_frames_total;
164 uint64_t tx_frames_total;
165 uint64_t rx_bytes_total;
166 uint64_t tx_bytes_total;
167
168 nstime_t start_time;
169 nstime_t stop_time;
170 nstime_t start_abs_time;
171
172 bool filtered;
173
174 conv_extension_tcp_t ext_tcp;
175} conv_item_t;
176
178 typedef struct _endpoint_item_t {
179 et_dissector_info_t *dissector_info;
180 address myaddress;
181 endpoint_type etype;
182 uint32_t port;
183
184 uint64_t rx_frames;
185 uint64_t tx_frames;
186 uint64_t rx_bytes;
187 uint64_t tx_bytes;
188
189 uint64_t rx_frames_total;
190 uint64_t tx_frames_total;
191 uint64_t rx_bytes_total;
192 uint64_t tx_bytes_total;
193
194 bool modified;
195 bool filtered;
196
197} endpoint_item_t;
198
199#define ENDPOINT_TAP_PREFIX "endpoints"
200
204 extern void conversation_table_init(void);
205
213WS_DLL_PUBLIC void register_conversation_table(const int proto_id, bool hide_ports, tap_packet_cb conv_packet_func, tap_packet_cb endpoint_packet_func);
214
221WS_DLL_PUBLIC bool get_conversation_hide_ports(register_ct_t* ct);
222
229WS_DLL_PUBLIC int get_conversation_proto_id(register_ct_t* ct);
230
237WS_DLL_PUBLIC tap_packet_cb get_conversation_packet_func(register_ct_t* ct);
238
245WS_DLL_PUBLIC tap_packet_cb get_endpoint_packet_func(register_ct_t* ct);
246
253WS_DLL_PUBLIC register_ct_t* get_conversation_by_proto_id(int proto_id);
254
262WS_DLL_PUBLIC void conversation_table_set_gui_info(conv_gui_init_cb init_cb);
263
271WS_DLL_PUBLIC void endpoint_table_set_gui_info(endpoint_gui_init_cb init_cb);
272
279WS_DLL_PUBLIC void conversation_table_iterate_tables(wmem_foreach_func func, void* user_data);
280
285WS_DLL_PUBLIC unsigned conversation_table_get_num(void);
286
292WS_DLL_PUBLIC void reset_conversation_table_data(conv_hash_t *ch);
293
299WS_DLL_PUBLIC void reset_endpoint_table_data(conv_hash_t *ch);
300
307WS_DLL_PUBLIC void dissector_conversation_init(const char *opt_arg, void* userdata);
308
315WS_DLL_PUBLIC void dissector_endpoint_init(const char *opt_arg, void* userdata);
316
325WS_DLL_PUBLIC char *get_conversation_address(wmem_allocator_t *allocator, address *addr, bool resolve_names);
326
338WS_DLL_PUBLIC char *get_conversation_port(wmem_allocator_t *allocator, uint32_t port, conversation_type ctype, bool resolve_names);
339
351WS_DLL_PUBLIC char *get_endpoint_port(wmem_allocator_t *allocator, endpoint_item_t *item, bool resolve_names);
352
360WS_DLL_PUBLIC char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e direction);
361
369WS_DLL_PUBLIC char *get_endpoint_filter(endpoint_item_t *endpoint_item);
370
386WS_DLL_PUBLIC void add_conversation_table_data(conv_hash_t *ch, const address *src, const address *dst,
387 uint32_t src_port, uint32_t dst_port, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts,
388 ct_dissector_info_t *ct_info, conversation_type ctype);
389
408WS_DLL_PUBLIC conv_item_t *
409 add_conversation_table_data_with_conv_id(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port,
410 uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes,
411 nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info,
412 conversation_type ctype);
413
433WS_DLL_PUBLIC void
434 add_conversation_table_data_extended(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port,
435 uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes,
436 nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info,
437 conversation_type ctype, uint32_t frameid, int (*proto_conv_cb)(conversation_t *));
438
456WS_DLL_PUBLIC void
457 add_conversation_table_data_ipv4_subnet(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port,
458 uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes,
459 nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info,
460 conversation_type ctype);
461
474WS_DLL_PUBLIC void add_endpoint_table_data(conv_hash_t *ch, const address *addr,
475 uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype);
476
490WS_DLL_PUBLIC void add_endpoint_table_data_ipv4_subnet(conv_hash_t *ch, const address *addr,
491 uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype);
492
493#ifdef __cplusplus
494}
495#endif /* __cplusplus */
496
497/*
498 * Editor modelines
499 *
500 * Local Variables:
501 * c-basic-offset: 4
502 * tab-width: 8
503 * indent-tabs-mode: nil
504 * End:
505 *
506 * ex: set shiftwidth=4 tabstop=8 expandtab:
507 * :indentSize=4:tabSize=8:noTabs=true:
508 */
address
struct _address address
Holds a network or link-layer address of any supported type.
conversation.h
conversation_t
struct conversation conversation_t
conversation_type
conversation_type
Conversation key types recognized by Wireshark dissectors.
Definition conversation.h:115
add_endpoint_table_data
WS_DLL_PUBLIC void add_endpoint_table_data(conv_hash_t *ch, const address *addr, uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype)
Add some data to the endpoint table.
Definition conversation_table.c:920
get_endpoint_filter
WS_DLL_PUBLIC char * get_endpoint_filter(endpoint_item_t *endpoint_item)
Get a display filter for the given endpoint.
Definition conversation_table.c:588
add_conversation_table_data_ipv4_subnet
WS_DLL_PUBLIC void add_conversation_table_data_ipv4_subnet(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t 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)
Encapsulates add_conversation_table_data_with_conv_id() for the IPv4 specific case when the subnet ag...
Definition conversation_table.c:824
get_endpoint_port
WS_DLL_PUBLIC char * get_endpoint_port(wmem_allocator_t *allocator, endpoint_item_t *item, bool resolve_names)
Get the string representation of the port for an endpoint_item_t.
Definition conversation_table.c:344
get_conversation_hide_ports
WS_DLL_PUBLIC bool get_conversation_hide_ports(register_ct_t *ct)
Should port columns be hidden?
Definition conversation_table.c:33
add_conversation_table_data_with_conv_id
WS_DLL_PUBLIC conv_item_t * add_conversation_table_data_with_conv_id(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t 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)
Add some data to the conversation table, passing a value to be used in addition to the address and po...
Definition conversation_table.c:638
endpoint_get_filter_type
const char *(* endpoint_get_filter_type)(struct _endpoint_item_t *item, conv_filter_type_e filter_type)
Callback that resolves a display filter field name for a given endpoint item and filter type.
Definition conversation_table.h:119
conv_extension_tcp_t
struct _conversation_extension_tcp_t conv_extension_tcp_t
get_conversation_port
WS_DLL_PUBLIC char * get_conversation_port(wmem_allocator_t *allocator, uint32_t port, conversation_type ctype, bool resolve_names)
Get the string representation of a port.
Definition conversation_table.c:325
conv_filter_type_e
conv_filter_type_e
Field type selector for building a conversation display filter.
Definition conversation_table.h:47
CONV_FT_ANY_ADDRESS
@ CONV_FT_ANY_ADDRESS
Definition conversation_table.h:50
CONV_FT_DST_ADDRESS
@ CONV_FT_DST_ADDRESS
Definition conversation_table.h:49
CONV_FT_SRC_ADDRESS
@ CONV_FT_SRC_ADDRESS
Definition conversation_table.h:48
CONV_FT_SRC_PORT
@ CONV_FT_SRC_PORT
Definition conversation_table.h:51
CONV_FT_ANY_PORT
@ CONV_FT_ANY_PORT
Definition conversation_table.h:53
CONV_FT_DST_PORT
@ CONV_FT_DST_PORT
Definition conversation_table.h:52
get_conversation_by_proto_id
WS_DLL_PUBLIC register_ct_t * get_conversation_by_proto_id(int proto_id)
get conversation table from protocol ID
Definition conversation_table.c:120
get_conversation_proto_id
WS_DLL_PUBLIC int get_conversation_proto_id(register_ct_t *ct)
Get protocol ID of a conversation table.
Definition conversation_table.c:38
dissector_endpoint_init
WS_DLL_PUBLIC void dissector_endpoint_init(const char *opt_arg, void *userdata)
Initialize dissector endpoint for stats and (possibly) GUI.
Definition conversation_table.c:110
conv_item_t
struct _conversation_item_t conv_item_t
get_conversation_packet_func
WS_DLL_PUBLIC tap_packet_cb get_conversation_packet_func(register_ct_t *ct)
Get conversation tap function handler of a conversation table.
Definition conversation_table.c:46
conversation_table_iterate_tables
WS_DLL_PUBLIC void conversation_table_iterate_tables(wmem_foreach_func func, void *user_data)
Iterator to walk conversation tables and execute func.
Definition conversation_table.c:198
conversation_table_get_num
WS_DLL_PUBLIC unsigned conversation_table_get_num(void)
Get the total number of conversation tables.
Definition conversation_table.c:203
conversation_table_init
void conversation_table_init(void)
Initialize the conversation table system.
Definition conversation_table.c:125
conv_key_t
struct _conversation_key_t conv_key_t
Composite hash table key identifying a conversation by its two endpoints and optional ID.
get_endpoint_packet_func
WS_DLL_PUBLIC tap_packet_cb get_endpoint_packet_func(register_ct_t *ct)
Get endpoint tap function handler for a conversation table.
Definition conversation_table.c:51
et_dissector_info_t
struct _et_dissector_info et_dissector_info_t
Dissector info block for an endpoint table, providing filter-type resolution.
get_conversation_filter
WS_DLL_PUBLIC char * get_conversation_filter(conv_item_t *conv_item, conv_direction_e direction)
Get a display filter for the given conversation and direction.
Definition conversation_table.c:412
conv_id_t
uint32_t conv_id_t
Definition conversation_table.h:37
ct_dissector_info_t
struct _ct_dissector_info ct_dissector_info_t
Dissector info block for a conversation table, providing filter-type resolution.
get_conversation_address
WS_DLL_PUBLIC char * get_conversation_address(wmem_allocator_t *allocator, address *addr, bool resolve_names)
Get the string representation of an address.
Definition conversation_table.c:316
conv_direction_e
conv_direction_e
Directional filter scope for a conversation, relative to endpoints A and B.
Definition conversation_table.h:60
CONV_DIR_ANY_FROM_B
@ CONV_DIR_ANY_FROM_B
Definition conversation_table.h:69
CONV_DIR_A_TO_B
@ CONV_DIR_A_TO_B
Definition conversation_table.h:62
CONV_DIR_A_TO_FROM_B
@ CONV_DIR_A_TO_FROM_B
Definition conversation_table.h:61
CONV_DIR_A_TO_ANY
@ CONV_DIR_A_TO_ANY
Definition conversation_table.h:65
CONV_DIR_ANY_TO_FROM_B
@ CONV_DIR_ANY_TO_FROM_B
Definition conversation_table.h:67
CONV_DIR_ANY_TO_B
@ CONV_DIR_ANY_TO_B
Definition conversation_table.h:68
CONV_DIR_A_FROM_ANY
@ CONV_DIR_A_FROM_ANY
Definition conversation_table.h:66
CONV_DIR_A_TO_FROM_ANY
@ CONV_DIR_A_TO_FROM_ANY
Definition conversation_table.h:64
CONV_DIR_A_FROM_B
@ CONV_DIR_A_FROM_B
Definition conversation_table.h:63
add_conversation_table_data
WS_DLL_PUBLIC void add_conversation_table_data(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t dst_port, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype)
Add some data to the conversation table.
Definition conversation_table.c:631
reset_endpoint_table_data
WS_DLL_PUBLIC void reset_endpoint_table_data(conv_hash_t *ch)
Remove all entries from the endpoint table.
Definition conversation_table.c:292
register_conversation_table
WS_DLL_PUBLIC void register_conversation_table(const int proto_id, bool hide_ports, tap_packet_cb conv_packet_func, tap_packet_cb endpoint_packet_func)
Register the conversation table for the conversation and endpoint windows.
Definition conversation_table.c:131
endpoint_item_t
struct _endpoint_item_t endpoint_item_t
add_conversation_table_data_extended
WS_DLL_PUBLIC void add_conversation_table_data_extended(conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t 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, uint32_t frameid, int(*proto_conv_cb)(conversation_t *))
Decorates add_conversation_table_data_with_conv_id() in order to be able to add protocol dependent ad...
Definition conversation_table.c:782
register_ct_t
struct register_ct register_ct_t
Definition conversation_table.h:141
endpoint_table_set_gui_info
WS_DLL_PUBLIC void endpoint_table_set_gui_info(endpoint_gui_init_cb init_cb)
Register "initialization function" used by the GUI to create endpoint table display in GUI.
Definition conversation_table.c:193
conversation_table_set_gui_info
WS_DLL_PUBLIC void conversation_table_set_gui_info(conv_gui_init_cb init_cb)
Register "initialization function" used by the GUI to create conversation table display in GUI.
Definition conversation_table.c:169
add_endpoint_table_data_ipv4_subnet
WS_DLL_PUBLIC void add_endpoint_table_data_ipv4_subnet(conv_hash_t *ch, const address *addr, uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype)
Encapsulates add_endpoint_table_data() for the IPv4 specific case when the subnet aggregation user pr...
Definition conversation_table.c:1005
conv_hash_t
struct _conversation_hash_t conv_hash_t
reset_conversation_table_data
WS_DLL_PUBLIC void reset_conversation_table_data(conv_hash_t *ch)
Remove all entries from the conversation table.
Definition conversation_table.c:267
dissector_conversation_init
WS_DLL_PUBLIC void dissector_conversation_init(const char *opt_arg, void *userdata)
Initialize dissector conversation for stats and (possibly) GUI.
Definition conversation_table.c:80
wmem_foreach_func
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
wmem_allocator_t
struct _wmem_allocator_t wmem_allocator_t
Definition wmem_core.h:44
_conversation_extension_tcp_t
Definition conversation_table.h:144
_conversation_extension_tcp_t::flows
uint64_t flows
Definition conversation_table.h:145
_conversation_hash_t
Definition conversation_table.h:75
_conversation_hash_t::conv_array
GArray * conv_array
Definition conversation_table.h:77
_conversation_hash_t::user_data
void * user_data
Definition conversation_table.h:78
_conversation_hash_t::hashtable
GHashTable * hashtable
Definition conversation_table.h:76
_conversation_hash_t::flags
unsigned flags
Definition conversation_table.h:79
_conversation_item_t
Definition conversation_table.h:149
_conversation_item_t::ctype
conversation_type ctype
Definition conversation_table.h:153
_conversation_item_t::start_time
nstime_t start_time
Definition conversation_table.h:168
_conversation_item_t::tx_bytes
uint64_t tx_bytes
Definition conversation_table.h:161
_conversation_item_t::conv_id
conv_id_t conv_id
Definition conversation_table.h:156
_conversation_item_t::src_address
address src_address
Definition conversation_table.h:151
_conversation_item_t::start_abs_time
nstime_t start_abs_time
Definition conversation_table.h:170
_conversation_item_t::tx_frames_total
uint64_t tx_frames_total
Definition conversation_table.h:164
_conversation_item_t::rx_frames_total
uint64_t rx_frames_total
Definition conversation_table.h:163
_conversation_item_t::filtered
bool filtered
Definition conversation_table.h:172
_conversation_item_t::rx_frames
uint64_t rx_frames
Definition conversation_table.h:158
_conversation_item_t::dissector_info
ct_dissector_info_t * dissector_info
Definition conversation_table.h:150
_conversation_item_t::tx_bytes_total
uint64_t tx_bytes_total
Definition conversation_table.h:166
_conversation_item_t::dst_address
address dst_address
Definition conversation_table.h:152
_conversation_item_t::dst_port
uint32_t dst_port
Definition conversation_table.h:155
_conversation_item_t::src_port
uint32_t src_port
Definition conversation_table.h:154
_conversation_item_t::rx_bytes
uint64_t rx_bytes
Definition conversation_table.h:160
_conversation_item_t::rx_bytes_total
uint64_t rx_bytes_total
Definition conversation_table.h:165
_conversation_item_t::tx_frames
uint64_t tx_frames
Definition conversation_table.h:159
_conversation_item_t::stop_time
nstime_t stop_time
Definition conversation_table.h:169
_conversation_item_t::ext_tcp
conv_extension_tcp_t ext_tcp
Definition conversation_table.h:174
_conversation_key_t
Composite hash table key identifying a conversation by its two endpoints and optional ID.
Definition conversation_table.h:85
_conversation_key_t::addr2
address addr2
Definition conversation_table.h:87
_conversation_key_t::port1
uint32_t port1
Definition conversation_table.h:88
_conversation_key_t::addr1
address addr1
Definition conversation_table.h:86
_conversation_key_t::conv_id
conv_id_t conv_id
Definition conversation_table.h:90
_conversation_key_t::port2
uint32_t port2
Definition conversation_table.h:89
_ct_dissector_info
Dissector info block for a conversation table, providing filter-type resolution.
Definition conversation_table.h:107
_ct_dissector_info::get_filter_type
conv_get_filter_type get_filter_type
Definition conversation_table.h:108
_endpoint_item_t
Definition conversation_table.h:178
_endpoint_item_t::rx_frames_total
uint64_t rx_frames_total
Definition conversation_table.h:189
_endpoint_item_t::modified
bool modified
Definition conversation_table.h:194
_endpoint_item_t::myaddress
address myaddress
Definition conversation_table.h:180
_endpoint_item_t::rx_frames
uint64_t rx_frames
Definition conversation_table.h:184
_endpoint_item_t::rx_bytes
uint64_t rx_bytes
Definition conversation_table.h:186
_endpoint_item_t::tx_bytes
uint64_t tx_bytes
Definition conversation_table.h:187
_endpoint_item_t::dissector_info
et_dissector_info_t * dissector_info
Definition conversation_table.h:179
_endpoint_item_t::etype
endpoint_type etype
Definition conversation_table.h:181
_endpoint_item_t::tx_bytes_total
uint64_t tx_bytes_total
Definition conversation_table.h:192
_endpoint_item_t::rx_bytes_total
uint64_t rx_bytes_total
Definition conversation_table.h:191
_endpoint_item_t::tx_frames
uint64_t tx_frames
Definition conversation_table.h:185
_endpoint_item_t::filtered
bool filtered
Definition conversation_table.h:195
_endpoint_item_t::tx_frames_total
uint64_t tx_frames_total
Definition conversation_table.h:190
_endpoint_item_t::port
uint32_t port
Definition conversation_table.h:182
_et_dissector_info
Dissector info block for an endpoint table, providing filter-type resolution.
Definition conversation_table.h:124
_et_dissector_info::get_filter_type
endpoint_get_filter_type get_filter_type
Definition conversation_table.h:125
endpoint_key_t
Composite hash table key identifying a single network endpoint by address and port.
Definition conversation_table.h:96
endpoint_key_t::port
uint32_t port
Definition conversation_table.h:98
endpoint_key_t::myaddress
address myaddress
Definition conversation_table.h:97
nstime_t
Definition nstime.h:26
register_ct
Definition conversation_table.c:24
tap.h
wmem_scopes.h