|  | #ifndef WIN32_LEAN_AND_MEAN | 
|  | #define WIN32_LEAN_AND_MEAN | 
|  | #endif | 
|  | #undef  __CRT__NO_INLINE | 
|  | #define __CRT__NO_INLINE | 
|  | #include <winsock2.h> | 
|  | #include <ws2tcpip.h> | 
|  |  | 
|  | #undef  IN6_IS_ADDR_UNSPECIFIED | 
|  | #define IN6_IS_ADDR_UNSPECIFIED(a)	( ((a)->s6_words[0] == 0) &&	\ | 
|  | ((a)->s6_words[1] == 0) &&	\ | 
|  | ((a)->s6_words[2] == 0) &&	\ | 
|  | ((a)->s6_words[3] == 0) &&	\ | 
|  | ((a)->s6_words[4] == 0) &&	\ | 
|  | ((a)->s6_words[5] == 0) &&	\ | 
|  | ((a)->s6_words[6] == 0) &&	\ | 
|  | ((a)->s6_words[7] == 0) ) | 
|  |  | 
|  | int IN6ADDR_ISANY(const struct sockaddr_in6 *a) | 
|  | { | 
|  | return ((a->sin6_family == AF_INET6) && | 
|  | IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr)); | 
|  | } |