ReactOS 0.4.16-dev-340-g0540c21
ip_addr.h File Reference
#include "lwip/opt.h"
#include "lwip/def.h"
#include "lwip/ip4_addr.h"
#include "lwip/ip6_addr.h"
Include dependency graph for ip_addr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IP_ADDR_PCB_VERSION_MATCH(addr, pcb)   1
 
#define IP_ADDR_PCB_VERSION_MATCH_EXACT(pcb, ipaddr)   1
 
#define ip_addr_set_any_val(is_ipv6, ipaddr)   ip_addr_set_any(is_ipv6, &(ipaddr))
 
#define ip_addr_set_loopback_val(is_ipv6, ipaddr)   ip_addr_set_loopback(is_ipv6, &(ipaddr))
 
#define IPADDR6_INIT(a, b, c, d)   { { a, b, c, d } IPADDR6_ZONE_INIT }
 
#define IPADDR6_INIT_HOST(a, b, c, d)   { { PP_HTONL(a), PP_HTONL(b), PP_HTONL(c), PP_HTONL(d) } IPADDR6_ZONE_INIT }
 
#define IP_IS_V4_VAL(ipaddr)   0
 
#define IP_IS_V6_VAL(ipaddr)   1
 
#define IP_IS_V4(ipaddr)   0
 
#define IP_IS_V6(ipaddr)   1
 
#define IP_IS_ANY_TYPE_VAL(ipaddr)   0
 
#define IP_SET_TYPE_VAL(ipaddr, iptype)
 
#define IP_SET_TYPE(ipaddr, iptype)
 
#define IP_GET_TYPE(ipaddr)   IPADDR_TYPE_V6
 
#define IP_ADDR_RAW_SIZE(ipaddr)   sizeof(ip6_addr_t)
 
#define ip_2_ip6(ipaddr)   (ipaddr)
 
#define IP_ADDR6(ipaddr, i0, i1, i2, i3)   IP6_ADDR(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)   ip6_addr_copy(dest, src)
 
#define ip_addr_copy_from_ip6(dest, src)   ip6_addr_copy(dest, src)
 
#define ip_addr_copy_from_ip6_packed(dest, src)   ip6_addr_copy_from_packed(dest, src)
 
#define ip_addr_set(dest, src)   ip6_addr_set(dest, src)
 
#define ip_addr_set_ipaddr(dest, src)   ip6_addr_set(dest, src)
 
#define ip_addr_set_zero(ipaddr)   ip6_addr_set_zero(ipaddr)
 
#define ip_addr_set_zero_ip6(ipaddr)   ip6_addr_set_zero(ipaddr)
 
#define ip_addr_set_any(is_ipv6, ipaddr)   ip6_addr_set_any(ipaddr)
 
#define ip_addr_set_loopback(is_ipv6, ipaddr)   ip6_addr_set_loopback(ipaddr)
 
#define ip_addr_set_hton(dest, src)   ip6_addr_set_hton(dest, src)
 
#define ip_addr_get_network(target, host, mask)   ip6_addr_set_zero(target)
 
#define ip_addr_netcmp(addr1, addr2, mask)   0
 
#define ip_addr_net_eq(addr1, addr2, mask)   0
 
#define ip_addr_cmp(addr1, addr2)   ip6_addr_eq(addr1, addr2)
 
#define ip_addr_eq(addr1, addr2)   ip6_addr_eq(addr1, addr2)
 
#define ip_addr_cmp_zoneless(addr1, addr2)   ip6_addr_zoneless_eq(addr1, addr2)
 
#define ip_addr_zoneless_eq(addr1, addr2)   ip6_addr_zoneless_eq(addr1, addr2)
 
#define ip_addr_isany(ipaddr)   ip6_addr_isany(ipaddr)
 
#define ip_addr_isany_val(ipaddr)   ip6_addr_isany_val(ipaddr)
 
#define ip_addr_isloopback(ipaddr)   ip6_addr_isloopback(ipaddr)
 
#define ip_addr_islinklocal(ipaddr)   ip6_addr_islinklocal(ipaddr)
 
#define ip_addr_isbroadcast(addr, netif)   0
 
#define ip_addr_ismulticast(ipaddr)   ip6_addr_ismulticast(ipaddr)
 
#define ip_addr_debug_print(debug, ipaddr)   ip6_addr_debug_print(debug, ipaddr)
 
#define ip_addr_debug_print_val(debug, ipaddr)   ip6_addr_debug_print_val(debug, ipaddr)
 
#define ipaddr_ntoa(ipaddr)   ip6addr_ntoa(ipaddr)
 
#define ipaddr_ntoa_r(ipaddr, buf, buflen)   ip6addr_ntoa_r(ipaddr, buf, buflen)
 
#define ipaddr_aton(cp, addr)   ip6addr_aton(cp, addr)
 
#define IPADDR_STRLEN_MAX   IP6ADDR_STRLEN_MAX
 
#define IP46_ADDR_ANY(type)   (IP6_ADDR_ANY)
 
#define IP_ANY_TYPE   IP_ADDR_ANY
 

Typedefs

typedef ip6_addr_t ip_addr_t
 

Enumerations

enum  lwip_ip_addr_type { IPADDR_TYPE_V4 = 0U , IPADDR_TYPE_V6 = 6U , IPADDR_TYPE_ANY = 46U }
 

Detailed Description

IP address API (common IPv4 and IPv6)

Definition in file ip_addr.h.

Macro Definition Documentation

◆ IP46_ADDR_ANY

#define IP46_ADDR_ANY (   type)    (IP6_ADDR_ANY)

Definition at line 391 of file ip_addr.h.

◆ ip_2_ip6

#define ip_2_ip6 (   ipaddr)    (ipaddr)

Definition at line 356 of file ip_addr.h.

◆ IP_ADDR6

#define IP_ADDR6 (   ipaddr,
  i0,
  i1,
  i2,
  i3 
)    IP6_ADDR(ipaddr,i0,i1,i2,i3)

Definition at line 357 of file ip_addr.h.

◆ IP_ADDR6_HOST

#define IP_ADDR6_HOST (   ipaddr,
  i0,
  i1,
  i2,
  i3 
)    IP_ADDR6(ipaddr,PP_HTONL(i0),PP_HTONL(i1),PP_HTONL(i2),PP_HTONL(i3))

Definition at line 358 of file ip_addr.h.

◆ ip_addr_cmp

#define ip_addr_cmp (   addr1,
  addr2 
)    ip6_addr_eq(addr1, addr2)

Definition at line 373 of file ip_addr.h.

◆ ip_addr_cmp_zoneless

#define ip_addr_cmp_zoneless (   addr1,
  addr2 
)    ip6_addr_zoneless_eq(addr1, addr2)

Definition at line 375 of file ip_addr.h.

◆ ip_addr_copy

#define ip_addr_copy (   dest,
  src 
)    ip6_addr_copy(dest, src)

Definition at line 360 of file ip_addr.h.

◆ ip_addr_copy_from_ip6

#define ip_addr_copy_from_ip6 (   dest,
  src 
)    ip6_addr_copy(dest, src)

Definition at line 361 of file ip_addr.h.

◆ ip_addr_copy_from_ip6_packed

#define ip_addr_copy_from_ip6_packed (   dest,
  src 
)    ip6_addr_copy_from_packed(dest, src)

Definition at line 362 of file ip_addr.h.

◆ ip_addr_debug_print

#define ip_addr_debug_print (   debug,
  ipaddr 
)    ip6_addr_debug_print(debug, ipaddr)

Definition at line 383 of file ip_addr.h.

◆ ip_addr_debug_print_val

#define ip_addr_debug_print_val (   debug,
  ipaddr 
)    ip6_addr_debug_print_val(debug, ipaddr)

Definition at line 384 of file ip_addr.h.

◆ ip_addr_eq

#define ip_addr_eq (   addr1,
  addr2 
)    ip6_addr_eq(addr1, addr2)

Definition at line 374 of file ip_addr.h.

◆ ip_addr_get_network

#define ip_addr_get_network (   target,
  host,
  mask 
)    ip6_addr_set_zero(target)

Definition at line 370 of file ip_addr.h.

◆ ip_addr_isany

#define ip_addr_isany (   ipaddr)    ip6_addr_isany(ipaddr)

Definition at line 377 of file ip_addr.h.

◆ ip_addr_isany_val

#define ip_addr_isany_val (   ipaddr)    ip6_addr_isany_val(ipaddr)

Definition at line 378 of file ip_addr.h.

◆ ip_addr_isbroadcast

#define ip_addr_isbroadcast (   addr,
  netif 
)    0

Definition at line 381 of file ip_addr.h.

◆ ip_addr_islinklocal

#define ip_addr_islinklocal (   ipaddr)    ip6_addr_islinklocal(ipaddr)

Definition at line 380 of file ip_addr.h.

◆ ip_addr_isloopback

#define ip_addr_isloopback (   ipaddr)    ip6_addr_isloopback(ipaddr)

Definition at line 379 of file ip_addr.h.

◆ ip_addr_ismulticast

#define ip_addr_ismulticast (   ipaddr)    ip6_addr_ismulticast(ipaddr)

Definition at line 382 of file ip_addr.h.

◆ ip_addr_net_eq

#define ip_addr_net_eq (   addr1,
  addr2,
  mask 
)    0

Definition at line 372 of file ip_addr.h.

◆ ip_addr_netcmp

#define ip_addr_netcmp (   addr1,
  addr2,
  mask 
)    0

Definition at line 371 of file ip_addr.h.

◆ IP_ADDR_PCB_VERSION_MATCH

#define IP_ADDR_PCB_VERSION_MATCH (   addr,
  pcb 
)    1

Definition at line 286 of file ip_addr.h.

◆ IP_ADDR_PCB_VERSION_MATCH_EXACT

#define IP_ADDR_PCB_VERSION_MATCH_EXACT (   pcb,
  ipaddr 
)    1

Definition at line 287 of file ip_addr.h.

◆ IP_ADDR_RAW_SIZE

#define IP_ADDR_RAW_SIZE (   ipaddr)    sizeof(ip6_addr_t)

Definition at line 355 of file ip_addr.h.

◆ ip_addr_set

#define ip_addr_set (   dest,
  src 
)    ip6_addr_set(dest, src)

Definition at line 363 of file ip_addr.h.

◆ ip_addr_set_any

#define ip_addr_set_any (   is_ipv6,
  ipaddr 
)    ip6_addr_set_any(ipaddr)

Definition at line 367 of file ip_addr.h.

◆ ip_addr_set_any_val

#define ip_addr_set_any_val (   is_ipv6,
  ipaddr 
)    ip_addr_set_any(is_ipv6, &(ipaddr))

Definition at line 289 of file ip_addr.h.

◆ ip_addr_set_hton

#define ip_addr_set_hton (   dest,
  src 
)    ip6_addr_set_hton(dest, src)

Definition at line 369 of file ip_addr.h.

◆ ip_addr_set_ipaddr

#define ip_addr_set_ipaddr (   dest,
  src 
)    ip6_addr_set(dest, src)

Definition at line 364 of file ip_addr.h.

◆ ip_addr_set_loopback

#define ip_addr_set_loopback (   is_ipv6,
  ipaddr 
)    ip6_addr_set_loopback(ipaddr)

Definition at line 368 of file ip_addr.h.

◆ ip_addr_set_loopback_val

#define ip_addr_set_loopback_val (   is_ipv6,
  ipaddr 
)    ip_addr_set_loopback(is_ipv6, &(ipaddr))

Definition at line 290 of file ip_addr.h.

◆ ip_addr_set_zero

#define ip_addr_set_zero (   ipaddr)    ip6_addr_set_zero(ipaddr)

Definition at line 365 of file ip_addr.h.

◆ ip_addr_set_zero_ip6

#define ip_addr_set_zero_ip6 (   ipaddr)    ip6_addr_set_zero(ipaddr)

Definition at line 366 of file ip_addr.h.

◆ ip_addr_zoneless_eq

#define ip_addr_zoneless_eq (   addr1,
  addr2 
)    ip6_addr_zoneless_eq(addr1, addr2)

Definition at line 376 of file ip_addr.h.

◆ IP_GET_TYPE

#define IP_GET_TYPE (   ipaddr)    IPADDR_TYPE_V6

Definition at line 354 of file ip_addr.h.

◆ IP_IS_ANY_TYPE_VAL

#define IP_IS_ANY_TYPE_VAL (   ipaddr)    0

Definition at line 351 of file ip_addr.h.

◆ IP_IS_V4

#define IP_IS_V4 (   ipaddr)    0

Definition at line 349 of file ip_addr.h.

◆ IP_IS_V4_VAL

#define IP_IS_V4_VAL (   ipaddr)    0

Definition at line 347 of file ip_addr.h.

◆ IP_IS_V6

#define IP_IS_V6 (   ipaddr)    1

Definition at line 350 of file ip_addr.h.

◆ IP_IS_V6_VAL

#define IP_IS_V6_VAL (   ipaddr)    1

Definition at line 348 of file ip_addr.h.

◆ IP_SET_TYPE

#define IP_SET_TYPE (   ipaddr,
  iptype 
)

Definition at line 353 of file ip_addr.h.

◆ IP_SET_TYPE_VAL

#define IP_SET_TYPE_VAL (   ipaddr,
  iptype 
)

Definition at line 352 of file ip_addr.h.

◆ IPADDR6_INIT

#define IPADDR6_INIT (   a,
  b,
  c,
  d 
)    { { a, b, c, d } IPADDR6_ZONE_INIT }

Definition at line 345 of file ip_addr.h.

◆ IPADDR6_INIT_HOST

#define IPADDR6_INIT_HOST (   a,
  b,
  c,
  d 
)    { { PP_HTONL(a), PP_HTONL(b), PP_HTONL(c), PP_HTONL(d) } IPADDR6_ZONE_INIT }

Definition at line 346 of file ip_addr.h.

◆ ipaddr_aton

#define ipaddr_aton (   cp,
  addr 
)    ip6addr_aton(cp, addr)

Definition at line 387 of file ip_addr.h.

◆ ipaddr_ntoa

#define ipaddr_ntoa (   ipaddr)    ip6addr_ntoa(ipaddr)

Definition at line 385 of file ip_addr.h.

◆ ipaddr_ntoa_r

#define ipaddr_ntoa_r (   ipaddr,
  buf,
  buflen 
)    ip6addr_ntoa_r(ipaddr, buf, buflen)

Definition at line 386 of file ip_addr.h.

◆ IPADDR_STRLEN_MAX

#define IPADDR_STRLEN_MAX   IP6ADDR_STRLEN_MAX

Definition at line 389 of file ip_addr.h.

Typedef Documentation

◆ ip_addr_t

typedef ip6_addr_t ip_addr_t

Definition at line 344 of file ip_addr.h.