diff options
Diffstat (limited to 'epan/dfilter/dfilter-macro.h')
-rw-r--r-- | epan/dfilter/dfilter-macro.h | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/epan/dfilter/dfilter-macro.h b/epan/dfilter/dfilter-macro.h index acc90e1f9d..0f71c78a91 100644 --- a/epan/dfilter/dfilter-macro.h +++ b/epan/dfilter/dfilter-macro.h @@ -1,4 +1,4 @@ -/* dfilter-macro.h +/** @file * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -10,39 +10,51 @@ #ifndef _DFILTER_MACRO_H #define _DFILTER_MACRO_H -#include "ws_symbol_export.h" - - -#define DFILTER_MACRO_FILENAME "dfilter_macros" +#include <wireshark.h> +#include "dfilter.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ typedef struct _dfilter_macro_t { - gchar* name; /* the macro id */ - gchar* text; /* raw data from file */ - gboolean usable; /* macro is usable */ - gchar** parts; /* various segments of text between insertion targets */ + char* name; /* the macro id */ + char* text; /* raw data from file */ + bool usable; /* macro is usable */ + char** parts; /* various segments of text between insertion targets */ int* args_pos; /* what's to be inserted */ int argc; /* the expected number of arguments */ void* priv; /* a copy of text that contains every c-string in parts */ } dfilter_macro_t; +void macro_parse(dfilter_macro_t *m); + /* applies all macros to the given text and returns the resulting string or NULL on failure */ -gchar* dfilter_macro_apply(const gchar* text, gchar** error); +char* dfilter_macro_apply(const char* text, df_error_t** error); void dfilter_macro_init(void); -struct epan_uat; +WS_DLL_PUBLIC +void dfilter_macro_reload(void); + +void dfilter_macro_cleanup(void); + +struct dfilter_macro_table_iter { + GHashTableIter iter; +}; WS_DLL_PUBLIC -void dfilter_macro_get_uat(struct epan_uat **dfmu_ptr_ptr); +size_t +dfilter_macro_table_count(void); WS_DLL_PUBLIC -void dfilter_macro_build_ftv_cache(void* tree_root); +void +dfilter_macro_table_iter_init(struct dfilter_macro_table_iter *iter); -void dfilter_macro_cleanup(void); +WS_DLL_PUBLIC +bool +dfilter_macro_table_iter_next(struct dfilter_macro_table_iter *iter, + const char **name_ptr, const char **text_ptr); #ifdef __cplusplus } |