[Winpcap-users] Re: [Ethereal-dev] Re: Subject: [Ethereal-users]
Undefined struct 'sockaddr_storage' compiling under Win32
Loris Degioanni
loris.degioanni at gmail.com
Wed Aug 10 12:11:10 GMT 2005
Ulf,
as I told you, if the problem is only sockaddr_storage, an alternative
is checking for its presence and, if not available, using a local copy
of the definition.
It's not very clean, but it should work. And I could probably put it in
WinPcap too.
Loris
Ulf Lamping wrote:
>
> Ethereal development <ethereal-dev at ethereal.com> 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
>
> _______________________________________________
> Ethereal-dev mailing list
> Ethereal-dev at ethereal.com
> http://www.ethereal.com/mailman/listinfo/ethereal-dev
>
More information about the Winpcap-users
mailing list