diff options
Diffstat (limited to 'epan/dfilter/dfilter-macro.h')
-rw-r--r-- | epan/dfilter/dfilter-macro.h | 48 |
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 */ |