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