Home | History | Annotate | Download | only in include
      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