|  | 
| #define | IPADDR4_INIT(u32val)   { { { { u32val, 0ul, 0ul, 0ul } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V4 } | 
|  | 
| #define | IPADDR4_INIT_BYTES(a,  b,  c,  d)   IPADDR4_INIT(PP_HTONL(LWIP_MAKEU32(a,b,c,d))) | 
|  | 
| #define | IPADDR6_INIT(a,  b,  c,  d)   { { { { a, b, c, d } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V6 } | 
|  | 
| #define | IPADDR6_INIT_HOST(a,  b,  c,  d)   { { { { PP_HTONL(a), PP_HTONL(b), PP_HTONL(c), PP_HTONL(d) } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V6 } | 
|  | 
| #define | IP_IS_ANY_TYPE_VAL(ipaddr)   (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_ANY) | 
|  | 
| #define | IPADDR_ANY_TYPE_INIT   { { { { 0ul, 0ul, 0ul, 0ul } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_ANY } | 
|  | 
| #define | IP_IS_V4_VAL(ipaddr)   (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V4) | 
|  | 
| #define | IP_IS_V6_VAL(ipaddr)   (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V6) | 
|  | 
| #define | IP_IS_V4(ipaddr)   (((ipaddr) == NULL) || IP_IS_V4_VAL(*(ipaddr))) | 
|  | 
| #define | IP_IS_V6(ipaddr)   (((ipaddr) != NULL) && IP_IS_V6_VAL(*(ipaddr))) | 
|  | 
| #define | ip_2_ip6(ipaddr)   (&((ipaddr)->u_addr.ip6)) | 
|  | 
| #define | ip_2_ip4(ipaddr)   (&((ipaddr)->u_addr.ip4)) | 
|  | 
| #define | IP_ADDR4(ipaddr,  a,  b,  c,  d) | 
|  | 
| #define | IP_ADDR6(ipaddr,  i0,  i1,  i2,  i3) | 
|  | 
| #define | IP_ADDR6_HOST(ipaddr,  i0,  i1,  i2,  i3)   IP_ADDR6(ipaddr,PP_HTONL(i0),PP_HTONL(i1),PP_HTONL(i2),PP_HTONL(i3)) | 
|  | 
| #define | ip_addr_copy(dest,  src) | 
|  | 
| #define | ip_addr_copy_from_ip6(dest,  src) | 
|  | 
| #define | ip_addr_copy_from_ip6_packed(dest,  src) | 
|  | 
| #define | ip_addr_copy_from_ip4(dest,  src) | 
|  | 
| #define | ip_addr_set_ip4_u32(ipaddr,  val) | 
|  | 
| #define | ip_addr_set_ip4_u32_val(ipaddr,  val) | 
|  | 
| #define | ip_addr_get_ip4_u32(ipaddr) | 
|  | 
| #define | ip_addr_set(dest,  src) | 
|  | 
| #define | ip_addr_set_ipaddr(dest,  src)   ip_addr_set(dest, src) | 
|  | 
| #define | ip_addr_set_zero(ipaddr) | 
|  | 
| #define | ip_addr_set_zero_ip4(ipaddr) | 
|  | 
| #define | ip_addr_set_zero_ip6(ipaddr) | 
|  | 
| #define | ip_addr_set_any(is_ipv6,  ipaddr) | 
|  | 
| #define | ip_addr_set_any_val(is_ipv6,  ipaddr) | 
|  | 
| #define | ip_addr_set_loopback(is_ipv6,  ipaddr) | 
|  | 
| #define | ip_addr_set_loopback_val(is_ipv6,  ipaddr) | 
|  | 
| #define | ip_addr_set_hton(dest,  src) | 
|  | 
| #define | ip_addr_get_network(target,  host,  netmask) | 
|  | 
| #define | ip_addr_netcmp(addr1,  addr2,  mask) | 
|  | 
| #define | ip_addr_cmp(addr1,  addr2) | 
|  | 
| #define | ip_addr_cmp_zoneless(addr1,  addr2) | 
|  | 
| #define | ip_addr_isany(ipaddr) | 
|  | 
| #define | ip_addr_isany_val(ipaddr) | 
|  | 
| #define | ip_addr_isbroadcast(ipaddr,  netif) | 
|  | 
| #define | ip_addr_ismulticast(ipaddr) | 
|  | 
| #define | ip_addr_isloopback(ipaddr) | 
|  | 
| #define | ip_addr_islinklocal(ipaddr) | 
|  | 
| #define | IPADDR_STRLEN_MAX   IP6ADDR_STRLEN_MAX | 
|  | 
| #define | ip4_2_ipv4_mapped_ipv6(ip6addr,  ip4addr) | 
|  | 
| #define | unmap_ipv4_mapped_ipv6(ip4addr,  ip6addr)   (ip4addr)->addr = (ip6addr)->addr[3]; | 
|  | 
| #define | IP_ADDR_ANY   IP4_ADDR_ANY | 
|  | 
| #define | IP4_ADDR_ANY   (&ip_addr_any) | 
|  | 
| #define | IP4_ADDR_ANY4   (ip_2_ip4(&ip_addr_any)) | 
|  | 
| #define | IP_ADDR_BROADCAST   (&ip_addr_broadcast) | 
|  | 
| #define | IP4_ADDR_BROADCAST   (ip_2_ip4(&ip_addr_broadcast)) | 
|  | 
| #define | IP6_ADDR_ANY   (&ip6_addr_any) | 
|  | 
| #define | IP6_ADDR_ANY6   (ip_2_ip6(&ip6_addr_any)) | 
|  | 
| #define | IP_ANY_TYPE   (&ip_addr_any_type) | 
|  | 
IP address API (common IPv4 and IPv6)