Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
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 <[email protected]>
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 <glib.h>
14
15#include "ws_symbol_export.h"
16
17#include <wsutil/color.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22
23struct epan_dissect;
24
25#define COLORFILTERS_FILE_NAME "colorfilters"
26
27#define CONVERSATION_COLOR_PREFIX "___conversation_color_filter___"
32/* Data for a color filter. */
33typedef struct _color_filter {
34 char *filter_name; /* name of the filter */
35 char *filter_text; /* text of the filter expression */
36 color_t bg_color; /* background color for packets that match */
37 color_t fg_color; /* foreground color for packets that match */
38 bool disabled; /* set if the filter is disabled */
39
40 /* only used inside of color_filters.c */
41 struct epan_dfilter *c_colorfilter; /* compiled filter expression */
42
43 /* only used outside of color_filters.c (beside init) */
45
52typedef void (*color_filter_add_cb_func)(color_filter_t *colorf, void *user_data);
53
55WS_DLL_PUBLIC bool color_filters_init(char** err_msg, color_filter_add_cb_func add_cb);
56
58WS_DLL_PUBLIC bool color_filters_reload(char** err_msg, color_filter_add_cb_func add_cb);
59
61WS_DLL_PUBLIC void color_filters_cleanup(void);
62
67WS_DLL_PUBLIC bool color_filters_used(void);
68
73WS_DLL_PUBLIC bool tmp_color_filters_used(void);
74
80WS_DLL_PUBLIC char*
81color_filters_get_tmp(uint8_t filt_nr);
82
90WS_DLL_PUBLIC bool
91color_filters_set_tmp(uint8_t filt_nr, const char *filter, bool disabled, char **err_msg);
92
98WS_DLL_PUBLIC const color_filter_t *
99color_filters_tmp_color(uint8_t filter_num);
100
104WS_DLL_PUBLIC bool
105color_filters_reset_tmp(char **err_msg);
106
107/* Prime the epan_dissect_t with all the compiled
108 * color filters of the current filter list.
109 *
110 * @param the epan dissector details
111 */
112WS_DLL_PUBLIC void color_filters_prime_edt(struct epan_dissect *edt);
113
120WS_DLL_PUBLIC bool
121color_filters_use_hfid(int hfid);
122
129WS_DLL_PUBLIC bool
130color_filters_use_proto(int proto_id);
131
137WS_DLL_PUBLIC const color_filter_t *
139
145WS_DLL_PUBLIC void color_filters_clone(void *user_data, color_filter_add_cb_func add_cb);
146
155WS_DLL_PUBLIC bool color_filters_import(const char *path, void *user_data, char **err_msg, color_filter_add_cb_func add_cb);
156
164WS_DLL_PUBLIC bool color_filters_read_globals(void *user_data, char** err_msg, color_filter_add_cb_func add_cb);
165
166
173WS_DLL_PUBLIC bool color_filters_apply(GSList *tmp_cfl, GSList *edit_cfl, char** err_msg);
174
181WS_DLL_PUBLIC bool color_filters_write(GSList *cfl, char** err_msg);
182
191WS_DLL_PUBLIC bool color_filters_export(const char *path, GSList *cfl, bool only_selected, char** err_msg);
192
202WS_DLL_PUBLIC color_filter_t *color_filter_new(
203 const char *name, const char *filter_string,
204 color_t *bg_color, color_t *fg_color, bool disabled);
205
210WS_DLL_PUBLIC void color_filter_delete(color_filter_t *colorf);
211
216WS_DLL_PUBLIC void color_filter_list_delete(GSList **cfl);
217
218#ifdef __cplusplus
219}
220#endif /* __cplusplus */
221
222#endif
223
224/*
225 * Editor modelines - https://www.wireshark.org/tools/modelines.html
226 *
227 * Local variables:
228 * c-basic-offset: 4
229 * tab-width: 8
230 * indent-tabs-mode: nil
231 * End:
232 *
233 * vi: set shiftwidth=4 tabstop=8 expandtab:
234 * :indentSize=4:tabSize=8:noTabs=true:
235 */
WS_DLL_PUBLIC void color_filters_clone(void *user_data, color_filter_add_cb_func add_cb)
Definition color_filters.c:395
WS_DLL_PUBLIC bool color_filters_init(char **err_msg, color_filter_add_cb_func add_cb)
Definition color_filters.c:351
void(* color_filter_add_cb_func)(color_filter_t *colorf, void *user_data)
Definition color_filters.h:52
WS_DLL_PUBLIC bool color_filters_use_hfid(int hfid)
Definition color_filters.c:537
WS_DLL_PUBLIC color_filter_t * color_filter_new(const char *name, const char *filter_string, color_t *bg_color, color_t *fg_color, bool disabled)
Definition color_filters.c:61
WS_DLL_PUBLIC bool color_filters_import(const char *path, void *user_data, char **err_msg, color_filter_add_cb_func add_cb)
Definition color_filters.c:797
WS_DLL_PUBLIC bool color_filters_read_globals(void *user_data, char **err_msg, color_filter_add_cb_func add_cb)
Definition color_filters.c:751
WS_DLL_PUBLIC bool color_filters_export(const char *path, GSList *cfl, bool only_selected, char **err_msg)
Definition color_filters.c:895
WS_DLL_PUBLIC const color_filter_t * color_filters_tmp_color(uint8_t filter_num)
Definition color_filters.c:206
WS_DLL_PUBLIC bool tmp_color_filters_used(void)
Definition color_filters.c:497
WS_DLL_PUBLIC bool color_filters_set_tmp(uint8_t filt_nr, const char *filter, bool disabled, char **err_msg)
Definition color_filters.c:153
WS_DLL_PUBLIC const color_filter_t * color_filters_colorize_packet(struct epan_dissect *edt)
Definition color_filters.c:570
WS_DLL_PUBLIC void color_filter_delete(color_filter_t *colorf)
Definition color_filters.c:238
WS_DLL_PUBLIC void color_filter_list_delete(GSList **cfl)
Definition color_filters.c:257
WS_DLL_PUBLIC bool color_filters_used(void)
Definition color_filters.c:491
WS_DLL_PUBLIC bool color_filters_reload(char **err_msg, color_filter_add_cb_func add_cb)
Definition color_filters.c:361
WS_DLL_PUBLIC bool color_filters_apply(GSList *tmp_cfl, GSList *edit_cfl, char **err_msg)
Definition color_filters.c:455
WS_DLL_PUBLIC bool color_filters_write(GSList *cfl, char **err_msg)
Definition color_filters.c:865
WS_DLL_PUBLIC bool color_filters_use_proto(int proto_id)
Definition color_filters.c:560
WS_DLL_PUBLIC void color_filters_cleanup(void)
Definition color_filters.c:373
WS_DLL_PUBLIC char * color_filters_get_tmp(uint8_t filt_nr)
Definition color_filters.c:129
WS_DLL_PUBLIC bool color_filters_reset_tmp(char **err_msg)
Definition color_filters.c:223
Definition color_filters.h:33
Definition color.h:23
Definition dfilter-int.h:35
Definition epan_dissect.h:28