in6addr.h 854 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. #ifndef s6_addr
  7. #ifdef __LP64__
  8. #pragma push_macro("u_long")
  9. #undef u_long
  10. #define u_long __ms_u_long
  11. #endif
  12. #include <_bsd_types.h>
  13. typedef struct in6_addr {
  14. union {
  15. u_char Byte[16];
  16. u_short Word[8];
  17. #ifdef __INSIDE_CYGWIN__
  18. uint32_t __s6_addr32[4];
  19. #endif
  20. } u;
  21. } IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
  22. #define in_addr6 in6_addr
  23. #define _S6_un u
  24. #define _S6_u8 Byte
  25. #define s6_addr _S6_un._S6_u8
  26. #define s6_bytes u.Byte
  27. #define s6_words u.Word
  28. #ifdef __INSIDE_CYGWIN__
  29. #define s6_addr16 u.Word
  30. #define s6_addr32 u.__s6_addr32
  31. #endif
  32. #ifdef __LP64__
  33. #pragma pop_macro("u_long")
  34. #endif
  35. #endif /* s6_addr */