Alexandre Julliard wrote:
Jeff Latimer <[email protected]> writes:

diff --git a/include/ws2tcpip.h b/include/ws2tcpip.h
index a38ccda..9ddb3d1 100644
--- a/include/ws2tcpip.h
+++ b/include/ws2tcpip.h
@@ -85,26 +85,41 @@ struct WS(ip_msfilter) {
     struct WS(in_addr) imsf_slist[1];
 };
-typedef struct WS(in_addr6)
-{
-   WS(u_char) s6_addr[16]; /* IPv6 address */
+struct WS(in6_addr) {
+    union {
+        WS(u_char)  Byte[16];
+        WS(u_short) Word[8];
+    } u;
 } IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
+#define in_addr6 WS(in6_addr)
+
+#define _S6_un     u
+#define _S6_u8     Byte
+#ifndef USE_WS_PREFIX
+#define s6_addr    _S6_un._S6_u8
+#else
+#define WS_s6_addr _S6_un._S6_u8
+#endif
+
+#define s6_bytes   u.Byte
+#define s6_words   u.Word

This doesn't seem to match the PSDK, I don't see anything like this in
ws2tcpip.h.
The following is from WS2tcpip.h in the XP PSDK that I have. I think it looks similar to what I submitted. Have I got he wrong PSDK?

/* IPv6 definitions */

#ifndef s6_addr

struct in6_addr {
   union {
       u_char Byte[16];
       u_short Word[8];
   } u;
};

#define in_addr6 in6_addr

/*
** Defines to match RFC 2553.
*/
#define _S6_un     u
#define _S6_u8     Byte
#define s6_addr    _S6_un._S6_u8

/*
** Defines for our implementation.
*/
#define s6_bytes   u.Byte
#define s6_words   u.Word

#endif



Reply via email to