Wireshark  4.3.0
The Wireshark network protocol analyzer
conversation_filter.h
Go to the documentation of this file.
1 /* conversation_filter.h
2  * Routines for dissector-generated conversation filters for use as
3  * display and color filters
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 
12 #ifndef __DISSECTOR_FILTERS_H__
13 #define __DISSECTOR_FILTERS_H__
14 
15 #include "ws_symbol_export.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif /* __cplusplus */
20 
25 extern void conversation_filters_init(void);
26 
34 typedef gboolean (*is_filter_valid_func)(struct _packet_info *pinfo, void *user_data);
35 
45 typedef gchar* (*build_filter_string_func)(struct _packet_info *pinfo, void *user_data);
46 
56 WS_DLL_PUBLIC void register_conversation_filter(const char *proto_name, const char *display_name,
57  is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data);
58 
68 WS_DLL_PUBLIC void register_log_conversation_filter(const char *proto_name, const char *display_name,
69  is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data);
74 WS_DLL_PUBLIC void add_conversation_filter_protocol(const char *proto_name);
75 
77 extern void conversation_filters_cleanup(void);
78 
87 WS_DLL_PUBLIC gchar *conversation_filter_from_packet(struct _packet_info *pinfo);
88 
97 WS_DLL_PUBLIC gchar *conversation_filter_from_log(struct _packet_info *pinfo);
98 
99 /*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/
100 
101 typedef struct conversation_filter_s {
102  const char * proto_name;
103  const char * display_name;
104  is_filter_valid_func is_filter_valid;
105  build_filter_string_func build_filter_string;
106  void * user_data;
108 
109 WS_DLL_PUBLIC GList *packet_conv_filter_list;
110 WS_DLL_PUBLIC GList *log_conv_filter_list;
111 
112 #ifdef __cplusplus
113 }
114 #endif /* __cplusplus */
115 
116 #endif /* conversation_filter.h */
gchar *(* build_filter_string_func)(struct _packet_info *pinfo, void *user_data)
Definition: conversation_filter.h:45
WS_DLL_PUBLIC void register_conversation_filter(const char *proto_name, const char *display_name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data)
Definition: conversation_filter.c:51
WS_DLL_PUBLIC void add_conversation_filter_protocol(const char *proto_name)
Definition: conversation_filter.c:71
WS_DLL_PUBLIC gchar * conversation_filter_from_log(struct _packet_info *pinfo)
Definition: conversation_filter.c:133
void conversation_filters_init(void)
Definition: conversation_filter.c:25
void conversation_filters_cleanup(void)
Definition: conversation_filter.c:102
WS_DLL_PUBLIC gchar * conversation_filter_from_packet(struct _packet_info *pinfo)
Definition: conversation_filter.c:128
WS_DLL_PUBLIC void register_log_conversation_filter(const char *proto_name, const char *display_name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data)
Definition: conversation_filter.c:61
gboolean(* is_filter_valid_func)(struct _packet_info *pinfo, void *user_data)
Definition: conversation_filter.h:34
Definition: packet_info.h:44
Definition: conversation_filter.h:101