diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2017-10-01 00:56:03 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2017-12-14 08:43:57 +0000 |
commit | 995812c5f1add94df1c237596939130c1704b099 (patch) | |
tree | 42542c56b9a70c7d2d231c8bc36649be35af46b4 /epan/epan.h | |
parent | a9821caab8a1f2c6e265bd5b63a060f1f241c704 (diff) |
Refactor plugin registration and loading
Put different types of plugins (libwiretap, libwireshark) in different
subdirectories, give libwiretap and libwireshark init routines that
load the plugins, and have them scan the appropriate subdirectories
so that we don't even *try* to, for example, load libwireshark plugins
in programs that only use libwiretap.
Compiled plugins are stored in subfolders of the plugin folders, with
the subfolder name being the Wireshark minor version number (X.Y). There is
another hierarchical level for each Wireshark library (libwireshark, libwscodecs
and libwiretap).
The folder names are respectively plugins/X.Y/{epan,codecs,wiretap}.
Currently we only distribute "epan" (libwireshark) plugins.
Change-Id: I3438787a6f45820d64ba4ca91cbe3c8864708acb
Reviewed-on: https://code.wireshark.org/review/23983
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/epan.h')
-rw-r--r-- | epan/epan.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/epan/epan.h b/epan/epan.h index 5cafb780dc..8dc87451f9 100644 --- a/epan/epan.h +++ b/epan/epan.h @@ -30,6 +30,7 @@ extern "C" { #include <epan/tvbuff.h> #include <epan/prefs.h> #include <epan/frame_data.h> +#include <wsutil/plugins.h> #include "register.h" #include "ws_symbol_export.h" @@ -57,6 +58,10 @@ struct packet_provider_funcs { const char *(*get_user_comment)(struct packet_provider_data *prov, const frame_data *fd); }; +#ifdef HAVE_PLUGINS +extern plugins_t *libwireshark_plugins; +#endif + /** @mainpage Wireshark EPAN the packet analyzing engine. Source code can be found in the epan directory @@ -100,15 +105,6 @@ Ref2 for further edits - delete when done - \ref airpcapdefs - \ref radiotap */ -/* - * Register all the plugin types that are part of libwireshark. - * - * Must be called before init_plugins(), which must be called before - * any registration routines are called, i.e. before epan_init(). - * - * Must be called only once in a program. - */ -WS_DLL_PUBLIC void epan_register_plugin_types(void); /** * Init the whole epan module. |