aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dfilter/dfilter-macro.h
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dfilter/dfilter-macro.h')
-rw-r--r--epan/dfilter/dfilter-macro.h40
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
}