ip_addr.h

IP address API (common IPv4 and IPv6)

Defines

IP_ADDR_PCB_VERSION_MATCH(addr, pcb)
IP_ADDR_PCB_VERSION_MATCH_EXACT(pcb, ipaddr)
ip_addr_set_any_val(is_ipv6, ipaddr)
ip_addr_set_loopback_val(is_ipv6, ipaddr)
IPADDR6_INIT(a, b, c, d)
IPADDR6_INIT_HOST(a, b, c, d)
IP_IS_V4_VAL(ipaddr)
IP_IS_V6_VAL(ipaddr)
IP_IS_V4(ipaddr)
IP_IS_V6(ipaddr)
IP_IS_ANY_TYPE_VAL(ipaddr)
IP_SET_TYPE_VAL(ipaddr, iptype)
IP_SET_TYPE(ipaddr, iptype)
IP_GET_TYPE(ipaddr)
IP_ADDR_RAW_SIZE(ipaddr)
ip_2_ip6(ipaddr)
IP_ADDR6(ipaddr, i0, i1, i2, i3)
IP_ADDR6_HOST(ipaddr, i0, i1, i2, i3)
ip_addr_copy(dest, src)
ip_addr_copy_from_ip6(dest, src)
ip_addr_copy_from_ip6_packed(dest, src)
ip_addr_set(dest, src)
ip_addr_set_ipaddr(dest, src)
ip_addr_set_zero(ipaddr)
ip_addr_set_zero_ip6(ipaddr)
ip_addr_set_any(is_ipv6, ipaddr)
ip_addr_set_loopback(is_ipv6, ipaddr)
ip_addr_set_hton(dest, src)
ip_addr_get_network(target, host, mask)
ip_addr_netcmp(addr1, addr2, mask)
ip_addr_net_eq(addr1, addr2, mask)
ip_addr_cmp(addr1, addr2)
ip_addr_eq(addr1, addr2)
ip_addr_cmp_zoneless(addr1, addr2)
ip_addr_zoneless_eq(addr1, addr2)
ip_addr_isany(ipaddr)
ip_addr_isany_val(ipaddr)
ip_addr_isloopback(ipaddr)
ip_addr_islinklocal(ipaddr)
ip_addr_isbroadcast(addr, netif)
ip_addr_ismulticast(ipaddr)
ip_addr_debug_print(debug, ipaddr)
ip_addr_debug_print_val(debug, ipaddr)
ipaddr_ntoa(ipaddr)
ipaddr_ntoa_r(ipaddr, buf, buflen)
ipaddr_aton(cp, addr)
IPADDR_STRLEN_MAX
IP46_ADDR_ANY(type)
IP_ANY_TYPE

Macro representing the ‘any’ address.

Typedefs

typedef ip6_addr_t ip_addr_t

Enums

enum lwip_ip_addr_type

IP address types for use in ip_addr_t.type member.

See also

tcp_new_ip_type(), udp_new_ip_type(), raw_new_ip_type().

Values:

enumerator IPADDR_TYPE_V4

IPv4.

enumerator IPADDR_TYPE_V6

IPv6.

enumerator IPADDR_TYPE_ANY

IPv4+IPv6 (“dual-stack”)