Wireshark-dev: Re: [Wireshark-dev] Simpifying exporting DLL symbols
From: Gisle Vanem <gvanem@xxxxxxxxxxxx>
Date: Wed, 27 Feb 2013 10:48:19 +0100
"Bálint Réczey" <balint@xxxxxxxxxxxxxxx> wrote:

I have created the attached patch to control symbol visibility using
C defines instead of .def and .sym files. It is expected to work on every
platform and every build system we support, but I did not want to
commit it without discussing the direction.

Nice, but why not use nicer indenting to make it more readable?

And what about foreign programs that would like to use e.g. libwireshark
code as a static lib? ws_symbol_export.h should IMHO account for this.
Something like:

#if (defined (_WIN32) || defined (__CYGWIN__)) & !defined(WS_STATIC_LIB)
 #ifdef WS_BUILD_DLL
   #ifdef __GNUC__
     #define WS_DLL_PUBLIC __attribute__ ((dllexport))
   #else
     #define WS_DLL_PUBLIC __declspec(dllexport) // Note: actually gcc seems to also support this syntax.
   #endif
..

There is some interest out there to use libwireshark outside *shark programs:
 http://stackoverflow.com/questions/10308127/using-libwireshark-to-get-wireshark-functionality-programatically

The old Packetyzer 5.0 also uses ethereal libs. See:
 http://sourceforge.net/projects/packetyzer/

--gv