Some packet_list.h -> main_packet_list.h changes.
[obnox/wireshark/wip.git] / capture_wpcap_packet.c
index 4b58cd37c4c653c3921e54b4892bf774515fc222..d26da5f8f4fdfb59f8d89d5186a47be468533db3 100644 (file)
 
 
 
-#ifndef HAVE_SOCKADDR_STORAGE
-/* packet32.h requires sockaddr_storage (usually defined in Platform SDK)
+/* packet32.h requires sockaddr_storage 
+ * wether sockaddr_storage is defined or not depends on the Platform SDK 
+ * version installed. The only one not defining it is the SDK that comes
+ * with MSVC 6.0 (WINVER 0x0400).
+ *
  * copied from RFC2553 (and slightly modified because of datatypes) ...
  * XXX - defined more than once, move this to a header file */
+#if (WINVER <= 0x0400) && defined(_MSC_VER)
 typedef unsigned short eth_sa_family_t;
 
 /*
@@ -63,13 +67,6 @@ typedef unsigned short eth_sa_family_t;
 #define ETH_SS_PAD2SIZE   (ETH_SS_MAXSIZE - (sizeof (eth_sa_family_t) + \
                               ETH_SS_PAD1SIZE + ETH_SS_ALIGNSIZE))
 
-/* sockaddr_storage problem with different MSVC versions
- * - MSVC 6   (1200) doesn't define this
- * - MSVC 7   (1300) does
- * - MSVC 7.1 (1310) does
- * - MSVC 8   (1400) does */
-/* we might need to tweak this #if, see version_info for _MSC_VER values */
-#if _MSC_VER < 1300
 struct sockaddr_storage {
     eth_sa_family_t  __ss_family;     /* address family */
     /* Following fields are implementation specific */
@@ -85,8 +82,7 @@ struct sockaddr_storage {
               /* __ss_pad1, __ss_align fields is 112 */
 };
 /* ... copied from RFC2553 */
-#endif /* _MSC_VER */
-#endif
+#endif /* WINVER */
 
 
 #include <Packet32.h>