Alexandre Julliard wrote:
Jeff Latimer <lats(a)yless4u.com.au> 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