37#define INET_ADDRSTRLEN (16)
38#define INET6_ADDRSTRLEN (46)
43#define INADDR_ANY ((in_addr_t)0x00000000)
48#define INADDR_BROADCAST ((in_addr_t)0xffffffff)
53#define IN6ADDR_ANY_INIT IPV6_ADDR_UNSPECIFIED
58#define IN6ADDR_LOOPBACK_INIT IPV6_ADDR_LOOPBACK
72#define IN6_IS_ADDR_UNSPECIFIED(addr) ((int)(ipv6_addr_is_unspecified((const ipv6_addr_t *)(addr))))
82#define IN6_IS_ADDR_LOOPBACK(addr) ((int)(ipv6_addr_is_loopback((const ipv6_addr_t *)(addr))))
92#define IN6_IS_ADDR_MULTICAST(addr) ((int)(ipv6_addr_is_multicast((const ipv6_addr_t *)(addr))))
102#define IN6_IS_ADDR_LINKLOCAL(addr) ((int)(ipv6_addr_is_link_local((const ipv6_addr_t *)addr)))
112#define IN6_IS_ADDR_SITELOCAL(addr) ((int)(ipv6_addr_is_site_local((const ipv6_addr_t *)addr)))
122#define IN6_IS_ADDR_V4MAPPED(addr) ((int)(ipv6_addr_is_ipv4_mapped((const ipv6_addr_t *)addr)))
132#define IN6_IS_ADDR_V4COMPAT(addr) ((int)(ipv6_addr_is_ipv4_compat((const ipv6_addr_t *)addr)))
142#define IN6_IS_ADDR_MC_NODELOCAL(addr) (IN6_IS_ADDR_MULTICAST(addr) && \
143 (int)((addr->s6_addr[1] & 0x0f) == IPV6_ADDR_MCAST_SCP_IF_LOCAL))
153#define IN6_IS_ADDR_MC_LINKLOCAL(addr) (IN6_IS_ADDR_MULTICAST(addr) && \
154 (int)((addr->s6_addr[1] & 0x0f) == IPV6_ADDR_MCAST_SCP_LINK_LOCAL))
164#define IN6_IS_ADDR_MC_SITELOCAL(addr) (IN6_IS_ADDR_MULTICAST(addr) && \
165 (int)((addr->s6_addr[1] & 0x0f) == IPV6_ADDR_MCAST_SCP_SITE_LOCAL))
175#define IN6_IS_ADDR_MC_ORGLOCAL(addr) (IN6_IS_ADDR_MULTICAST(addr) && \
176 (int)((addr->s6_addr[1] & 0x0f) == IPV6_ADDR_MCAST_SCP_ORG_LOCAL))
186#define IN6_IS_ADDR_MC_GLOBAL(addr) (IN6_IS_ADDR_MULTICAST(addr) && \
187 (int)((addr->s6_addr[1] & 0x0f) == IPV6_ADDR_MCAST_SCP_GLOBAL))
194#define IPPROTO_IP (PROTNUM_IPV4)
195#define IPPROTO_IPV6 (PROTNUM_IPV6)
196#define IPPROTO_ICMP (PROTNUM_ICMP)
197#define IPPROTO_ICMPV6 (PROTNUM_ICMPV6)
198#define IPPROTO_RAW (PROTNUM_RESERVED)
199#define IPPROTO_TCP (PROTNUM_TCP)
200#define IPPROTO_UDP (PROTNUM_UDP)
System-internal byte operations.
unsigned short sa_family_t
address family type
const struct in6_addr in6addr_loopback
IPv6 socket address for the loopback address.
uint16_t in_port_t
Internet port type.
uint32_t in_addr_t
IPv4 address type.
const struct in6_addr in6addr_any
IPv6 socket address for the wildcard address.
Adds include for missing inttype definitions.
Definitions for IPv6 addresses.
Protocol number definitions.
IPv6 address structure type.
uint8_t s6_addr[16]
unsigned 8-bit integer array
IPv4 address structure type.
in_addr_t s_addr
an IPv4 address
struct in6_addr ipv6mr_multiaddr
an IPv6 multicast address
unsigned ipv6mr_interface
interface index, leave 0 for default
IPv6 socket address type.
in_port_t sin6_port
Port number.
struct in6_addr sin6_addr
IPv6 address.
uint32_t sin6_flowinfo
IPv6 traffic class and flow information.
uint32_t sin6_scope_id
Set of interfaces for a scope.
sa_family_t sin6_family
Protocol family, always AF_INET6.
IPv4 socket address type.
struct in_addr sin_addr
IPv4 address.
sa_family_t sin_family
Protocol family, always AF_INET.
in_port_t sin_port
Port number.