|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  |  | 
|  | #ifndef s6_addr | 
|  |  | 
|  | #ifdef __LP64__ | 
|  | #pragma push_macro("u_long") | 
|  | #undef u_long | 
|  | #define u_long __ms_u_long | 
|  | #endif | 
|  |  | 
|  | #include <_bsd_types.h> | 
|  |  | 
|  | typedef struct in6_addr { | 
|  | union { | 
|  | u_char Byte[16]; | 
|  | u_short Word[8]; | 
|  | #ifdef __INSIDE_CYGWIN__ | 
|  | uint32_t __s6_addr32[4]; | 
|  | #endif | 
|  | } u; | 
|  | } IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR; | 
|  |  | 
|  | #define in_addr6	in6_addr | 
|  |  | 
|  | #define _S6_un		u | 
|  | #define _S6_u8		Byte | 
|  | #define s6_addr		_S6_un._S6_u8 | 
|  |  | 
|  | #define s6_bytes	u.Byte | 
|  | #define s6_words	u.Word | 
|  |  | 
|  | #ifdef __INSIDE_CYGWIN__ | 
|  | #define s6_addr16	u.Word | 
|  | #define s6_addr32       u.__s6_addr32 | 
|  | #endif | 
|  |  | 
|  | #ifdef __LP64__ | 
|  | #pragma pop_macro("u_long") | 
|  | #endif | 
|  |  | 
|  | #endif /* s6_addr */ | 
|  |  |