[1/5] resend include: bring in6_addr into line with the MS definition

Rob Shearman robertshearman at gmail.com
Wed Apr 1 06:46:58 CDT 2009


2009/4/1 Jeff Latimer <lats at yless4u.com.au>:
> Alexandre Julliard wrote:
>>
>> Jeff Latimer <lats at 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.
>>
>
> What is the policy for selecting the Platform SDK?  Do we always use the
> latest (in this case Vista) PSDK?  There does not appear to any guidance on
> this matter on the various Wine sites.

It's rare for things to change much from one PSDK version to the next,
so there have not been many cases like this before. However, generally
newer is better.

>
> 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 the 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

This looks right, but in recent PSDKs it has moved from ws2tcpip.h to in6addr.h.

-- 
Rob Shearman



More information about the wine-devel mailing list