summaryrefslogtreecommitdiffstats
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.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/epan/dfilter/dfilter-macro.h b/epan/dfilter/dfilter-macro.h
new file mode 100644
index 0000000..477bb40
--- /dev/null
+++ b/epan/dfilter/dfilter-macro.h
@@ -0,0 +1,48 @@
+/** @file
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 2001 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef _DFILTER_MACRO_H
+#define _DFILTER_MACRO_H
+
+#include <wireshark.h>
+#include "dfilter.h"
+
+#define DFILTER_MACRO_FILENAME "dfilter_macros"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct _dfilter_macro_t {
+ 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;
+
+/* applies all macros to the given text and returns the resulting string or NULL on failure */
+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_get_uat(struct epan_uat **dfmu_ptr_ptr);
+
+void dfilter_macro_cleanup(void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _DFILTER_MACRO_H */