HP-UX IPv6 Porting Guide (February 2007)
IPv6 Addressing
IPv6 Address Types
Chapter 212
NOTE Only use the constant during initialization.
• For assignment, use the global variable named in6addr_any, of the type in6_addr
structure. For example:
Header file
<netinet/in.h>
<netinet/in6.h>
extern const struct in6_addr in6addr_any;
struct sockaddr_in6 sin6;
…
sin6.sin6_addr = in6addr_any; /* structure assignment */
…
if (bind(s, (struct sockaddr *) &sin6, sizeof(sin6)) == -1)
IPv6 Loopback Addresses
The IPv4 loopback address is an integer type INADDR_LOOPBACK. The IPv6 loopback address is
an in6_addr structure defined in <netinet/in.h>. For example:
Header file
<netinet/in.h>
<netinet/in6.h>
sin6.sin6_addr = in6addr_loopback; /* structure assignment */
The symbolic constant named IN6ADDR_LOOPBACK_INIT is defined in <netinet/in.h>. Use it
only when declaring a sockaddr_in6 struct. For example:
struct in6_addr loopbackaddr = IN6ADDR_LOOPBACK_INIT
NOTE IPv4 defines INADDR_* constants in IPv4 host byte order. However, IPv6
defines IN6ADDR_* and in6addr* constants in network byte order.