diff --git a/tools/wireshark/src/plugin.c b/tools/wireshark/src/plugin.c index 2a85688f43..3741334e85 100644 --- a/tools/wireshark/src/plugin.c +++ b/tools/wireshark/src/plugin.c @@ -2,10 +2,10 @@ * plugin.c: Wireshark's plugin registration * * The registration routines were generated using wireshark's - * make-dissector-reg script (found under wirshark.git/tools/): + * make-plugin-reg.py script (found under wirshark.git/tools/): * * libvirt.git/tools/wireshark/src $ \ - * /path/to/wireshark.git/tools/make-dissector-reg \ + * /path/to/wireshark.git/tools/make-plugin-reg.py \ * . plugin packet-libvirt.c * */ @@ -14,20 +14,31 @@ #include +#include +#include /* plugins are DLLs */ #define WS_BUILD_DLL #include #include "packet-libvirt.h" +/* Let the plugin version be the version of libvirt */ +#define PLUGIN_VERSION VERSION + +#define WIRESHARK_VERSION \ + ((VERSION_MAJOR * 1000 * 1000) + \ + (VERSION_MINOR * 1000) + \ + (VERSION_MICRO)) + +#if WIRESHARK_VERSION < 2005000 /* In 1.12 wireshark WS_DLL_PUBLIC_NOEXTERN was substitued with * WS_DLL_PUBLIC_DEF. See wireshark's commit * 5d87a8c46171f572568db5a47c093423482e342f for more info. */ -#ifndef WS_DLL_PUBLIC_NOEXTERN -# define WS_DLL_PUBLIC_NOEXTERN WS_DLL_PUBLIC_DEF -#endif +# ifndef WS_DLL_PUBLIC_NOEXTERN +# define WS_DLL_PUBLIC_NOEXTERN WS_DLL_PUBLIC_DEF +# endif -#ifndef ENABLE_STATIC +# ifndef ENABLE_STATIC WS_DLL_PUBLIC_NOEXTERN const gchar version[] = VERSION; /* Start the functions we need for the plugin stuff */ @@ -42,4 +53,42 @@ plugin_reg_handoff(void) { proto_reg_handoff_libvirt(); } +# endif + +#elif WIRESHARK_VERSION < 2009000 + +WS_DLL_PUBLIC_DEF const gchar plugin_version[] = PLUGIN_VERSION; +WS_DLL_PUBLIC_DEF const gchar plugin_release[] = VERSION_RELEASE; + +WS_DLL_PUBLIC void plugin_register(void); + +void plugin_register(void) +{ + static proto_plugin plug_libvirt; + + plug_libvirt.register_protoinfo = proto_register_libvirt; + plug_libvirt.register_handoff = proto_reg_handoff_libvirt; + proto_register_plugin(&plug_libvirt); +} + +#else /* WIRESHARK_VERSION >= 2009000 */ + +void proto_register_libvirt(void); +void proto_reg_handoff_libvirt(void); + +WS_DLL_PUBLIC_DEF const gchar plugin_version[] = PLUGIN_VERSION; +WS_DLL_PUBLIC_DEF const int plugin_want_major = VERSION_MAJOR; +WS_DLL_PUBLIC_DEF const int plugin_want_minor = VERSION_MINOR; + +WS_DLL_PUBLIC void plugin_register(void); + +void plugin_register(void) +{ + static proto_plugin plug_libvirt; + + plug_libvirt.register_protoinfo = proto_register_libvirt; + plug_libvirt.register_handoff = proto_reg_handoff_libvirt; + proto_register_plugin(&plug_libvirt); +} + #endif