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
50 #define NO_MASK_B 0xFFFF0000
51 #define NO_ADDR_B 0x00010000
52 #define NO_PORT_B 0x00020000
55 #define USE_LAST_ENDPOINT 0x08
78 CONVERSATION_BLUETOOTH,
81 CONVERSATION_ISO14443,
92 CONVERSATION_IWARP_MPA,
114 #define ENDPOINT_NONE CONVERSATION_NONE
115 #define ENDPOINT_SCTP CONVERSATION_SCTP
116 #define ENDPOINT_TCP CONVERSATION_TCP
117 #define ENDPOINT_UDP CONVERSATION_UDP
118 #define ENDPOINT_DCCP CONVERSATION_DCCP
119 #define ENDPOINT_IPX CONVERSATION_IPX
120 #define ENDPOINT_NCP CONVERSATION_NCP
121 #define ENDPOINT_EXCHG CONVERSATION_EXCHG
122 #define ENDPOINT_DDP CONVERSATION_DDP
123 #define ENDPOINT_SBCCS CONVERSATION_SBCCS
124 #define ENDPOINT_IDP CONVERSATION_IDP
125 #define ENDPOINT_TIPC CONVERSATION_TIPC
126 #define ENDPOINT_USB CONVERSATION_USB
127 #define ENDPOINT_I2C CONVERSATION_I2C
128 #define ENDPOINT_IBQP CONVERSATION_IBQP
129 #define ENDPOINT_BLUETOOTH CONVERSATION_BLUETOOTH
130 #define ENDPOINT_TDMOP CONVERSATION_TDMOP
131 #define ENDPOINT_DVBCI CONVERSATION_DVBCI
132 #define ENDPOINT_ISO14443 CONVERSATION_ISO14443
133 #define ENDPOINT_ISDN CONVERSATION_ISDN
134 #define ENDPOINT_H223 CONVERSATION_H223
135 #define ENDPOINT_X25 CONVERSATION_X25
136 #define ENDPOINT_IAX2 CONVERSATION_IAX2
137 #define ENDPOINT_DLCI CONVERSATION_DLCI
138 #define ENDPOINT_ISUP CONVERSATION_ISUP
139 #define ENDPOINT_BICC CONVERSATION_BICC
140 #define ENDPOINT_GSMTAP CONVERSATION_GSMTAP
141 #define ENDPOINT_IUUP CONVERSATION_IUUP
142 #define ENDPOINT_DVBBBF CONVERSATION_DVBBBF
143 #define ENDPOINT_IWARP_MPA CONVERSATION_IWARP_MPA
144 #define ENDPOINT_BT_UTP CONVERSATION_BT_UTP
145 #define ENDPOINT_LOG CONVERSATION_LOG
146 #define ENDPOINT_MCTP CONVERSATION_MCTP
147 #define ENDPOINT_NVME_MI CONVERSATION_NVME_MI
148 #define ENDPOINT_SNMP CONVERSATION_SNMP
150 typedef conversation_type endpoint_type;
156 CE_CONVERSATION_TYPE,
189 conversation_type conversation_type_val;
191 unsigned int port_val;
193 unsigned int uint_val;
296 const conversation_type ctype,
const guint32 port1,
const guint32 port2,
const guint options);
298 WS_DLL_PUBLIC WS_RETNONNULL
conversation_t *conversation_new_by_id(
const guint32 setup_frame,
const conversation_type ctype,
const guint32
id);
356 const conversation_type ctype,
const guint32 port_a,
const guint32 port_b,
const guint options);
358 WS_DLL_PUBLIC
conversation_t *find_conversation_by_id(
const guint32 frame,
const conversation_type ctype,
const guint32
id);
422 conversation_type ctype, guint32 port1, guint32 port2);
433 conversation_type ctype, guint32
id);
444 conversation_type ctype,
const guint options);
458 proto_tree *tree,
void* data,
const guint options);
460 WS_DLL_PUBLIC gboolean try_conversation_dissector_by_id(
const conversation_type ctype,
const guint32
id,
tvbuff_t *tvb,
491 WS_DLL_PUBLIC conversation_type conversation_pt_to_conversation_type(port_type pt);
497 WS_DLL_PUBLIC endpoint_type conversation_pt_to_endpoint_type(port_type pt);
void conversation_epan_reset(void)
Definition: conversation.c:543
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * find_or_create_conversation(packet_info *pinfo)
Definition: conversation.c:1752
WS_DLL_PUBLIC void conversation_set_port2(conversation_t *conv, const guint32 port)
Definition: conversation.c:912
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:1846
WS_DLL_PUBLIC void conversation_set_addr2(conversation_t *conv, const address *addr)
Definition: conversation.c:956
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:1147
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:1612
WS_DLL_PUBLIC void * conversation_get_proto_data(const conversation_t *conv, const int proto)
Definition: conversation.c:1530
WS_DLL_PUBLIC WS_RETNONNULL conversation_t * conversation_new_full(const guint32 setup_frame, conversation_element_t *elements)
Definition: conversation.c:670
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:712
WS_DLL_PUBLIC conversation_t * find_conversation_full(const guint32 frame_num, conversation_element_t *elements)
Definition: conversation.c:1030
WS_DLL_PUBLIC void conversation_delete_proto_data(conversation_t *conv, const int proto)
Definition: conversation.c:1544
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:1828
void conversation_init(void)
Definition: conversation.c:463
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:1780
WS_DLL_PUBLIC void conversation_set_elements_by_id(struct _packet_info *pinfo, conversation_type ctype, guint32 id)
Definition: conversation.c:1818
conversation_element_type
Definition: conversation.h:155
WS_DLL_PUBLIC conversation_t * find_conversation_pinfo(packet_info *pinfo, const guint options)
Definition: conversation.c:1695
WS_DLL_PUBLIC void conversation_add_proto_data(conversation_t *conv, const int proto, void *proto_data)
Definition: conversation.c:1517
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:1798
Definition: packet_info.h:44
Definition: wmem_map.c:44
Definition: wmem_tree-int.h:48
Definition: conversation.c:46
Definition: conversation.h:186
Definition: conversation.h:202
wmem_tree_t * dissector_tree
Definition: conversation.h:211
guint32 setup_frame
Definition: conversation.h:207
struct conversation * last
Definition: conversation.h:204
struct conversation * latest_found
Definition: conversation.h:205
guint32 last_frame
Definition: conversation.h:209
guint options
Definition: conversation.h:212
guint32 conv_index
Definition: conversation.h:206
wmem_tree_t * data_list
Definition: conversation.h:210
conversation_element_t * key_ptr
Definition: conversation.h:213
Definition: tvbuff-int.h:35