in6.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Types and definitions for AF_INET6
  4. * Linux INET6 implementation
  5. *
  6. * Authors:
  7. * Pedro Roque <roque@di.fc.ul.pt>
  8. *
  9. * Sources:
  10. * IPv6 Program Interfaces for BSD Systems
  11. * <draft-ietf-ipngwg-bsd-api-05.txt>
  12. *
  13. * Advanced Sockets API for IPv6
  14. * <draft-stevens-advanced-api-00.txt>
  15. */
  16. #ifndef _LINUX_IN6_H
  17. #define _LINUX_IN6_H
  18. #include <uapi/linux/in6.h>
  19. /* IPv6 Wildcard Address (::) and Loopback Address (::1) defined in RFC2553
  20. * NOTE: Be aware the IN6ADDR_* constants and in6addr_* externals are defined
  21. * in network byte order, not in host byte order as are the IPv4 equivalents
  22. */
  23. extern const struct in6_addr in6addr_any;
  24. #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
  25. extern const struct in6_addr in6addr_loopback;
  26. #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
  27. extern const struct in6_addr in6addr_linklocal_allnodes;
  28. #define IN6ADDR_LINKLOCAL_ALLNODES_INIT \
  29. { { { 0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
  30. extern const struct in6_addr in6addr_linklocal_allrouters;
  31. #define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \
  32. { { { 0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2 } } }
  33. extern const struct in6_addr in6addr_interfacelocal_allnodes;
  34. #define IN6ADDR_INTERFACELOCAL_ALLNODES_INIT \
  35. { { { 0xff,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
  36. extern const struct in6_addr in6addr_interfacelocal_allrouters;
  37. #define IN6ADDR_INTERFACELOCAL_ALLROUTERS_INIT \
  38. { { { 0xff,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2 } } }
  39. extern const struct in6_addr in6addr_sitelocal_allrouters;
  40. #define IN6ADDR_SITELOCAL_ALLROUTERS_INIT \
  41. { { { 0xff,5,0,0,0,0,0,0,0,0,0,0,0,0,0,2 } } }
  42. #endif