1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 7 #ifndef s6_addr 8 9 #ifdef __LP64__ 10 #pragma push_macro("u_long") 11 #undef u_long 12 #define u_long __ms_u_long 13 #endif 14 15 #include <_bsd_types.h> 16 17 typedef struct in6_addr { 18 union { 19 u_char Byte[16]; 20 u_short Word[8]; 21 #ifdef __INSIDE_CYGWIN__ 22 uint32_t __s6_addr32[4]; 23 #endif 24 } u; 25 } IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR; 26 27 #define in_addr6 in6_addr 28 29 #define _S6_un u 30 #define _S6_u8 Byte 31 #define s6_addr _S6_un._S6_u8 32 33 #define s6_bytes u.Byte 34 #define s6_words u.Word 35 36 #ifdef __INSIDE_CYGWIN__ 37 #define s6_addr16 u.Word 38 #define s6_addr32 u.__s6_addr32 39 #endif 40 41 #ifdef __LP64__ 42 #pragma pop_macro("u_long") 43 #endif 44 45 #endif /* s6_addr */ 46 47