11 #ifndef __CONVERSATION_H__
12 #define __CONVERSATION_H__
14 #include "ws_symbol_export.h"
43 #define NO_PORT2_FORCE 0x04
44 #define CONVERSATION_TEMPLATE 0x08
45 #define NO_PORTS 0x010
51 #define NO_MASK_B 0xFFFF0000
52 #define NO_ADDR_B 0x00010000
53 #define NO_PORT_B 0x00020000
54 #define NO_PORT_X 0x00040000
55 #define NO_ANC 0x00080000
58 #define USE_LAST_ENDPOINT 0x08
81 CONVERSATION_BLUETOOTH,
84 CONVERSATION_ISO14443,
95 CONVERSATION_IWARP_MPA,
100 CONVERSATION_NVME_MI,
112 CONVERSATION_VSPC_VMOTION,
125 #define ENDPOINT_NONE CONVERSATION_NONE
126 #define ENDPOINT_SCTP CONVERSATION_SCTP
127 #define ENDPOINT_TCP CONVERSATION_TCP
128 #define ENDPOINT_UDP CONVERSATION_UDP
129 #define ENDPOINT_DCCP CONVERSATION_DCCP
130 #define ENDPOINT_IPX CONVERSATION_IPX
131 #define ENDPOINT_NCP CONVERSATION_NCP
132 #define ENDPOINT_EXCHG CONVERSATION_EXCHG
133 #define ENDPOINT_DDP CONVERSATION_DDP
134 #define ENDPOINT_SBCCS CONVERSATION_SBCCS
135 #define ENDPOINT_IDP CONVERSATION_IDP
136 #define ENDPOINT_TIPC CONVERSATION_TIPC
137 #define ENDPOINT_USB CONVERSATION_USB
138 #define ENDPOINT_I2C CONVERSATION_I2C
139 #define ENDPOINT_IBQP CONVERSATION_IBQP
140 #define ENDPOINT_BLUETOOTH CONVERSATION_BLUETOOTH
141 #define ENDPOINT_TDMOP CONVERSATION_TDMOP
142 #define ENDPOINT_DVBCI CONVERSATION_DVBCI
143 #define ENDPOINT_ISO14443 CONVERSATION_ISO14443
144 #define ENDPOINT_ISDN CONVERSATION_ISDN
145 #define ENDPOINT_H223 CONVERSATION_H223
146 #define ENDPOINT_X25 CONVERSATION_X25
147 #define ENDPOINT_IAX2 CONVERSATION_IAX2
148 #define ENDPOINT_DLCI CONVERSATION_DLCI
149 #define ENDPOINT_ISUP CONVERSATION_ISUP
150 #define ENDPOINT_BICC CONVERSATION_BICC
151 #define ENDPOINT_GSMTAP CONVERSATION_GSMTAP
152 #define ENDPOINT_IUUP CONVERSATION_IUUP
153 #define ENDPOINT_DVBBBF CONVERSATION_DVBBBF
154 #define ENDPOINT_IWARP_MPA CONVERSATION_IWARP_MPA
155 #define ENDPOINT_BT_UTP CONVERSATION_BT_UTP
156 #define ENDPOINT_LOG CONVERSATION_LOG
157 #define ENDPOINT_MCTP CONVERSATION_MCTP
158 #define ENDPOINT_NVME_MI CONVERSATION_NVME_MI
159 #define ENDPOINT_SNMP CONVERSATION_SNMP
161 typedef conversation_type endpoint_type;
167 CE_CONVERSATION_TYPE,
202 conversation_type conversation_type_val;
204 unsigned int port_val;
206 unsigned int uint_val;
314 const conversation_type ctype,
const guint32 port1,
const guint32 port2,
const guint options);
316 WS_DLL_PUBLIC WS_RETNONNULL
conversation_t *conversation_new_by_id(
const guint32 setup_frame,
const conversation_type ctype,
const guint32
id);
321 WS_DLL_PUBLIC WS_RETNONNULL
conversation_t *conversation_new_deinterlaced(
const guint32 setup_frame,
const address *addr1,
const address *addr2,
322 const conversation_type ctype,
const guint32 port1,
const guint32 port2,
const guint32 anchor,
const guint options);
338 const conversation_type ctype,
const guint32 key1,
const guint32 key2,
const guint32 key3);
408 const conversation_type ctype,
const guint32 port_a,
const guint32 port_b,
const guint options);
411 const conversation_type ctype,
const guint32 port_a,
const guint32 port_b,
const guint32 anchor,
const guint options);
414 const conversation_type ctype,
const guint32 key_a,
const guint32 key_b,
const guint32 key_c);
423 WS_DLL_PUBLIC
conversation_t *find_conversation_by_id(
const guint32 frame,
const conversation_type ctype,
const guint32
id);
501 conversation_type ctype, guint32 port1, guint32 port2);
512 conversation_type ctype, guint32
id);
523 conversation_type ctype,
const guint options);
537 proto_tree *tree,
void* data,
const guint options);
539 WS_DLL_PUBLIC gboolean try_conversation_dissector_by_id(
const conversation_type ctype,
const guint32
id,
tvbuff_t *tvb,
570 WS_DLL_PUBLIC conversation_type conversation_pt_to_conversation_type(port_type pt);
576 WS_DLL_PUBLIC endpoint_type conversation_pt_to_endpoint_type(port_type pt);
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * conversation_new_deinterlacer(const guint32 setup_frame, const address *addr1, const address *addr2, const conversation_type ctype, const guint32 key1, const guint32 key2, const guint32 key3)
Definition: conversation.c:1100
void conversation_epan_reset(void)
Definition: conversation.c:697
WS_DLL_PUBLIC conversation_t * find_conversation_deinterlacer_pinfo(const packet_info *pinfo)
Definition: conversation.c:2020
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * find_or_create_conversation(packet_info *pinfo)
Definition: conversation.c:2373
WS_DLL_PUBLIC void conversation_set_port2(conversation_t *conv, const guint32 port)
Definition: conversation.c:1239
struct conversation conversation_t
WS_DLL_PUBLIC wmem_map_t * get_conversation_hashtables(void)
Get a hash table of conversation hash table.
Definition: conversation.c:2467
WS_DLL_PUBLIC void conversation_set_addr2(conversation_t *conv, const address *addr)
Definition: conversation.c:1283
WS_DLL_PUBLIC conversation_t * find_conversation(const guint32 frame_num, const address *addr_a, const address *addr_b, const conversation_type ctype, const guint32 port_a, const guint32 port_b, const guint options)
Definition: conversation.c:1560
WS_DLL_PUBLIC gboolean try_conversation_dissector(const address *addr_a, const address *addr_b, const conversation_type ctype, const guint32 port_a, const guint32 port_b, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, const guint options)
Definition: conversation.c:2168
WS_DLL_PUBLIC conversation_t * find_conversation_strat(const packet_info *pinfo, const conversation_type ctype, const guint options)
Definition: conversation.c:2249
WS_DLL_PUBLIC void * conversation_get_proto_data(const conversation_t *conv, const int proto)
Definition: conversation.c:2086
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * conversation_new_strat(packet_info *pinfo, const conversation_type ctype, const guint options)
Definition: conversation.c:1058
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * conversation_new_full(const guint32 setup_frame, conversation_element_t *elements)
Definition: conversation.c:824
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * conversation_new(const guint32 setup_frame, const address *addr1, const address *addr2, const conversation_type ctype, const guint32 port1, const guint32 port2, const guint options)
Definition: conversation.c:868
WS_DLL_PUBLIC conversation_t * find_conversation_full(const guint32 frame_num, conversation_element_t *elements)
Definition: conversation.c:1357
WS_DLL_PUBLIC void conversation_delete_proto_data(conversation_t *conv, const int proto)
Definition: conversation.c:2100
struct conversation_element conversation_element_t
WS_DLL_PUBLIC guint32 conversation_get_id_from_elements(struct _packet_info *pinfo, conversation_type ctype, const guint options)
Get the ID value from the conversation elements in the packet info.
Definition: conversation.c:2449
WS_DLL_PUBLIC conversation_t * find_conversation_pinfo(const packet_info *pinfo, const guint options)
Definition: conversation.c:2270
void conversation_init(void)
Definition: conversation.c:538
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * find_or_create_conversation_by_id(packet_info *pinfo, const conversation_type ctype, const guint32 id)
Definition: conversation.c:2401
WS_DLL_PUBLIC void conversation_set_elements_by_id(struct _packet_info *pinfo, conversation_type ctype, guint32 id)
Definition: conversation.c:2439
conversation_element_type
Definition: conversation.h:166
WS_DLL_PUBLIC void conversation_add_proto_data(conversation_t *conv, const int proto, void *proto_data)
Definition: conversation.c:2073
WS_DLL_PUBLIC void conversation_set_conv_addr_port_endpoints(struct _packet_info *pinfo, address *addr1, address *addr2, conversation_type ctype, guint32 port1, guint32 port2)
Definition: conversation.c:2419
WS_DLL_PUBLIC conversation_t * find_conversation_pinfo_ro(const packet_info *pinfo, const guint options)
Definition: conversation.c:2325
Definition: packet_info.h:44
Definition: wmem_map.c:44
Definition: wmem_tree-int.h:48
Definition: conversation.c:48
Definition: conversation.h:199
Definition: conversation.h:220
wmem_tree_t * dissector_tree
Definition: conversation.h:229
guint32 setup_frame
Definition: conversation.h:225
struct conversation * last
Definition: conversation.h:222
struct conversation * latest_found
Definition: conversation.h:223
guint32 last_frame
Definition: conversation.h:227
guint options
Definition: conversation.h:230
guint32 conv_index
Definition: conversation.h:224
wmem_tree_t * data_list
Definition: conversation.h:228
conversation_element_t * key_ptr
Definition: conversation.h:231
Definition: tvbuff-int.h:35