Ethereal-dev: Re: [Ethereal-dev] Re: Subject: [Ethereal-users] Undefined struct 'sockaddr_stor
Ethereal development <ethereal-dev@xxxxxxxxxxxx> schrieb am 10.08.05 10:29:24:
>
> Ulf,
> the dependence on the platform SDK has been introduced, if I remember
> well, in the first alpha of 3.1, when we added the ability to return
> IPv6 addresses for the datected adapters.
> The PacketGetNetInfoEx() function of packet.dll returns these addresses
> to the calling application in an application-allocated array of struct
> sockaddr_storage, and therefore the application needs the definition of
> that structure.
> If I remember well, wpcap has a different approach: it provides storage
> for addresses in the list created by pcap_findalldevs, therefore the
> application can use a normal struct sockaddr and ignore the address if
> it doesn't understand IPv6. This is the reason, I think, why we don't
> document the dependence on the platform SDK in the developer's pack:
> wpcap-based apps *should* not be dependent on the platform SDK (I may be
> wrong, I didn't try without it recently), and the developer's pack *is*
> for wpcap-based apps.
>
> The platform SDK is freely available on the internet (just google
> "platform SDK"), and in a general way it's suggested when developing
> networking applications for Windows.
> BUT, since last version, MS decided to make it incompatible with Visual
> Studio 6, and therefore you are forced to have VS.NET or better to for
> the definition of struct sockaddr_storage.
> Or define it on your own somewhere.
>
Hi Loris!
Thanks for the info, I couldn't send a mail to the WinPcap users-list as I'm not subscribed, so I got the answer this way :-)
To make a long story short: the use of the Packet32.h file is only required for the "Interface Details" dialog implemented in gtk/capture_if_details_dlg.c (and the loader of the packet.dll in capture_wpcap_packet.c).
Although this info (e.g. interface link speed) will be helpful in certain situartions, it seems to make deep trouble to compile this.
As I don't want to force all our Win32 developers to install the Platform SDK only for this reason, I'm thinking about making it optional through a definition in config.nmake.
This way, the default would be to compile without this dialog and thus without the Platform SDK.
Regards, ULFL
__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201