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