1 /* filter_expressions.h 2 * Submitted by Edwin Groothuis <wireshark@mavetju.org> 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 11 #ifndef __FILTER_EXPRESSIONS_H__ 12 #define __FILTER_EXPRESSIONS_H__ 13 14 #include "ws_symbol_export.h" 15 16 #include <epan/prefs.h> 17 #include <epan/wmem_scopes.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif /* __cplusplus */ 22 23 /** @file 24 * Filter expressions. 25 */ 26 27 typedef struct filter_expression { 28 gchar *label; 29 gchar *expression; 30 gchar *comment; 31 32 gboolean enabled; /* Can be set to FALSE by Preferences Dialog */ 33 } filter_expression_t; 34 35 WS_DLL_PUBLIC void filter_expression_iterate_expressions(wmem_foreach_func func, void* user_data); 36 37 /** Create a filter expression 38 * 39 * @param label Label (button) text for the expression. 40 * @param expr The display filter for the expression. 41 * @param comment A comment about the filter. 42 * @param enabled Determines if the expression is shown in the UI. 43 * @return A newly allocated and initialized struct filter_expression. 44 */ 45 WS_DLL_PUBLIC 46 filter_expression_t *filter_expression_new(const gchar *label, 47 const gchar *expr, const gchar *comment, const gboolean enabled); 48 49 /* Keep the UAT structure local to the filter_expressions */ 50 void filter_expression_register_uat(module_t* pref_module); 51 52 #ifdef __cplusplus 53 } 54 #endif /* __cplusplus */ 55 56 #endif /* __FILTER_EXPRESSIONS_H__ */ 57