Wireshark  4.3.0
The Wireshark network protocol analyzer
color_filters.h
Go to the documentation of this file.
1 /* color_filters.h
2  * Definitions for color filters
3  *
4  * Wireshark - Network traffic analyzer
5  * By Gerald Combs <gerald@wireshark.org>
6  * Copyright 1998 Gerald Combs
7  *
8  * SPDX-License-Identifier: GPL-2.0-or-later
9  */
10 #ifndef __COLOR_FILTERS_H__
11 #define __COLOR_FILTERS_H__
12 
13 #include "ws_symbol_export.h"
14 
15 #include <wsutil/color.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif /* __cplusplus */
20 
21 struct epan_dissect;
22 
23 #define COLORFILTERS_FILE_NAME "colorfilters"
24 
25 #define CONVERSATION_COLOR_PREFIX "___conversation_color_filter___"
30 /* Data for a color filter. */
31 typedef struct _color_filter {
32  gchar *filter_name; /* name of the filter */
33  gchar *filter_text; /* text of the filter expression */
34  color_t bg_color; /* background color for packets that match */
35  color_t fg_color; /* foreground color for packets that match */
36  gboolean disabled; /* set if the filter is disabled */
37 
38  /* only used inside of color_filters.c */
39  struct epan_dfilter *c_colorfilter; /* compiled filter expression */
40 
41  /* only used outside of color_filters.c (beside init) */
43 
50 typedef void (*color_filter_add_cb_func)(color_filter_t *colorf, gpointer user_data);
51 
53 WS_DLL_PUBLIC gboolean color_filters_init(gchar** err_msg, color_filter_add_cb_func add_cb);
54 
56 WS_DLL_PUBLIC gboolean color_filters_reload(gchar** err_msg, color_filter_add_cb_func add_cb);
57 
59 WS_DLL_PUBLIC void color_filters_cleanup(void);
60 
65 WS_DLL_PUBLIC gboolean color_filters_used(void);
66 
71 WS_DLL_PUBLIC gboolean tmp_color_filters_used(void);
72 
78 WS_DLL_PUBLIC gchar*
79 color_filters_get_tmp(guint8 filt_nr);
80 
88 WS_DLL_PUBLIC gboolean
89 color_filters_set_tmp(guint8 filt_nr, const gchar *filter, gboolean disabled, gchar **err_msg);
90 
96 WS_DLL_PUBLIC const color_filter_t *
97 color_filters_tmp_color(guint8 filter_num);
98 
102 WS_DLL_PUBLIC gboolean
103 color_filters_reset_tmp(gchar **err_msg);
104 
105 /* Prime the epan_dissect_t with all the compiled
106  * color filters of the current filter list.
107  *
108  * @param the epan dissector details
109  */
110 WS_DLL_PUBLIC void color_filters_prime_edt(struct epan_dissect *edt);
111 
118 WS_DLL_PUBLIC gboolean
119 color_filters_use_hfid(int hfid);
120 
127 WS_DLL_PUBLIC gboolean
128 color_filters_use_proto(int proto_id);
129 
135 WS_DLL_PUBLIC const color_filter_t *
137 
143 WS_DLL_PUBLIC void color_filters_clone(gpointer user_data, color_filter_add_cb_func add_cb);
144 
153 WS_DLL_PUBLIC gboolean color_filters_import(const gchar *path, gpointer user_data, gchar **err_msg, color_filter_add_cb_func add_cb);
154 
162 WS_DLL_PUBLIC gboolean color_filters_read_globals(gpointer user_data, gchar** err_msg, color_filter_add_cb_func add_cb);
163 
164 
171 WS_DLL_PUBLIC gboolean color_filters_apply(GSList *tmp_cfl, GSList *edit_cfl, gchar** err_msg);
172 
179 WS_DLL_PUBLIC gboolean color_filters_write(GSList *cfl, gchar** err_msg);
180 
189 WS_DLL_PUBLIC gboolean color_filters_export(const gchar *path, GSList *cfl, gboolean only_selected, gchar** err_msg);
190 
200 WS_DLL_PUBLIC color_filter_t *color_filter_new(
201  const gchar *name, const gchar *filter_string,
202  color_t *bg_color, color_t *fg_color, gboolean disabled);
203 
208 WS_DLL_PUBLIC void color_filter_delete(color_filter_t *colorf);
209 
214 WS_DLL_PUBLIC void color_filter_list_delete(GSList **cfl);
215 
216 #ifdef __cplusplus
217 }
218 #endif /* __cplusplus */
219 
220 #endif
221 
222 /*
223  * Editor modelines - https://www.wireshark.org/tools/modelines.html
224  *
225  * Local variables:
226  * c-basic-offset: 4
227  * tab-width: 8
228  * indent-tabs-mode: nil
229  * End:
230  *
231  * vi: set shiftwidth=4 tabstop=8 expandtab:
232  * :indentSize=4:tabSize=8:noTabs=true:
233  */
WS_DLL_PUBLIC const color_filter_t * color_filters_colorize_packet(struct epan_dissect *edt)
Definition: color_filters.c:570
WS_DLL_PUBLIC color_filter_t * color_filter_new(const gchar *name, const gchar *filter_string, color_t *bg_color, color_t *fg_color, gboolean disabled)
Definition: color_filters.c:61
WS_DLL_PUBLIC gboolean tmp_color_filters_used(void)
Definition: color_filters.c:497
WS_DLL_PUBLIC gboolean color_filters_use_hfid(int hfid)
Definition: color_filters.c:537
WS_DLL_PUBLIC void color_filters_clone(gpointer user_data, color_filter_add_cb_func add_cb)
Definition: color_filters.c:395
WS_DLL_PUBLIC gboolean color_filters_init(gchar **err_msg, color_filter_add_cb_func add_cb)
Definition: color_filters.c:351
WS_DLL_PUBLIC gboolean color_filters_export(const gchar *path, GSList *cfl, gboolean only_selected, gchar **err_msg)
Definition: color_filters.c:895
void(* color_filter_add_cb_func)(color_filter_t *colorf, gpointer user_data)
Definition: color_filters.h:50
WS_DLL_PUBLIC gboolean color_filters_reload(gchar **err_msg, color_filter_add_cb_func add_cb)
Definition: color_filters.c:361
WS_DLL_PUBLIC gboolean color_filters_apply(GSList *tmp_cfl, GSList *edit_cfl, gchar **err_msg)
Definition: color_filters.c:455
WS_DLL_PUBLIC gboolean color_filters_use_proto(int proto_id)
Definition: color_filters.c:560
WS_DLL_PUBLIC gboolean color_filters_reset_tmp(gchar **err_msg)
Definition: color_filters.c:223
WS_DLL_PUBLIC void color_filter_delete(color_filter_t *colorf)
Definition: color_filters.c:238
WS_DLL_PUBLIC gboolean color_filters_read_globals(gpointer user_data, gchar **err_msg, color_filter_add_cb_func add_cb)
Definition: color_filters.c:751
WS_DLL_PUBLIC void color_filter_list_delete(GSList **cfl)
Definition: color_filters.c:257
WS_DLL_PUBLIC gchar * color_filters_get_tmp(guint8 filt_nr)
Definition: color_filters.c:129
WS_DLL_PUBLIC gboolean color_filters_set_tmp(guint8 filt_nr, const gchar *filter, gboolean disabled, gchar **err_msg)
Definition: color_filters.c:153
WS_DLL_PUBLIC gboolean color_filters_used(void)
Definition: color_filters.c:491
WS_DLL_PUBLIC gboolean color_filters_import(const gchar *path, gpointer user_data, gchar **err_msg, color_filter_add_cb_func add_cb)
Definition: color_filters.c:797
WS_DLL_PUBLIC void color_filters_cleanup(void)
Definition: color_filters.c:373
WS_DLL_PUBLIC gboolean color_filters_write(GSList *cfl, gchar **err_msg)
Definition: color_filters.c:865
WS_DLL_PUBLIC const color_filter_t * color_filters_tmp_color(guint8 filter_num)
Definition: color_filters.c:206
Definition: color_filters.h:31
Definition: color.h:23
Definition: dfilter-int.h:35
Definition: epan_dissect.h:28