lwIP  2.1.0
Lightweight IP stack

Macros

#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 IP_IS_V4_VAL(ipaddr)   (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V4)
 
#define IP_IS_V4(ipaddr)   (((ipaddr) == NULL) || IP_IS_V4_VAL(*(ipaddr)))
 
#define ip_2_ip4(ipaddr)   (&((ipaddr)->u_addr.ip4))
 
#define IP_ADDR4(ipaddr, a, b, c, d)
 
#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_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))
 

Detailed Description

Macro Definition Documentation

◆ IP4_ADDR_ANY

#define IP4_ADDR_ANY   (&ip_addr_any)

Can be used as a fixed/const ip_addr_t for the IPv4 wildcard and the broadcast address

◆ IP4_ADDR_ANY4

#define IP4_ADDR_ANY4   (ip_2_ip4(&ip_addr_any))

Can be used as a fixed/const ip4_addr_t for the wildcard and the broadcast address

◆ IP4_ADDR_BROADCAST

#define IP4_ADDR_BROADCAST   (ip_2_ip4(&ip_addr_broadcast))

◆ ip_2_ip4

#define ip_2_ip4 (   ipaddr)    (&((ipaddr)->u_addr.ip4))

Convert generic ip address to specific protocol version

◆ IP_ADDR4

#define IP_ADDR4 (   ipaddr,
  a,
  b,
  c,
 
)
Value:
do { IP4_ADDR(ip_2_ip4(ipaddr),a,b,c,d); \
IP_SET_TYPE_VAL(*(ipaddr), IPADDR_TYPE_V4); } while(0)
#define IP4_ADDR(ipaddr, a, b, c, d)
Definition: ip4_addr.h:104
#define ip_2_ip4(ipaddr)
Definition: ip_addr.h:120
Definition: ip_addr.h:56

◆ IP_ADDR_ANY

#define IP_ADDR_ANY   IP4_ADDR_ANY

Can be used as a fixed/const ip_addr_t for the IP wildcard. Defined to IP4_ADDR_ANY when IPv4 is enabled. Defined to IP6_ADDR_ANY in IPv6 only systems. Use this if you can handle IPv4 AND IPv6 addresses. Use IP4_ADDR_ANY or IP6_ADDR_ANY when the IP type matters.

◆ IP_ADDR_BROADCAST

#define IP_ADDR_BROADCAST   (&ip_addr_broadcast)

◆ ip_addr_copy_from_ip4

#define ip_addr_copy_from_ip4 (   dest,
  src 
)
Value:
do{ \
ip4_addr_copy(*ip_2_ip4(&(dest)), src); IP_SET_TYPE_VAL(dest, IPADDR_TYPE_V4); ip_clear_no4(&dest); }while(0)
#define ip_2_ip4(ipaddr)
Definition: ip_addr.h:120
Definition: ip_addr.h:56

◆ ip_addr_get_ip4_u32

#define ip_addr_get_ip4_u32 (   ipaddr)
Value:
(((ipaddr) && IP_IS_V4(ipaddr)) ? \
ip4_addr_get_u32(ip_2_ip4(ipaddr)) : 0)
#define IP_IS_V4(ipaddr)
Definition: ip_addr.h:100
#define ip4_addr_get_u32(src_ipaddr)
Definition: ip4_addr.h:128
#define ip_2_ip4(ipaddr)
Definition: ip_addr.h:120

◆ ip_addr_set_ip4_u32

#define ip_addr_set_ip4_u32 (   ipaddr,
  val 
)
Value:
do{if(ipaddr){ip4_addr_set_u32(ip_2_ip4(ipaddr), val); \
IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); ip_clear_no4(ipaddr); }}while(0)
#define ip_2_ip4(ipaddr)
Definition: ip_addr.h:120
#define ip4_addr_set_u32(dest_ipaddr, src_u32)
Definition: ip4_addr.h:126
Definition: ip_addr.h:56

◆ ip_addr_set_ip4_u32_val

#define ip_addr_set_ip4_u32_val (   ipaddr,
  val 
)
Value:
do{ ip4_addr_set_u32(ip_2_ip4(&(ipaddr)), val); \
IP_SET_TYPE_VAL(ipaddr, IPADDR_TYPE_V4); ip_clear_no4(&ipaddr); }while(0)
#define ip_2_ip4(ipaddr)
Definition: ip_addr.h:120
#define ip4_addr_set_u32(dest_ipaddr, src_u32)
Definition: ip4_addr.h:126
Definition: ip_addr.h:56

◆ IP_IS_V4

#define IP_IS_V4 (   ipaddr)    (((ipaddr) == NULL) || IP_IS_V4_VAL(*(ipaddr)))

◆ IP_IS_V4_VAL

#define IP_IS_V4_VAL (   ipaddr)    (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V4)

◆ IPADDR4_INIT

#define IPADDR4_INIT (   u32val)    { { { { u32val, 0ul, 0ul, 0ul } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V4 }

◆ IPADDR4_INIT_BYTES

#define IPADDR4_INIT_BYTES (   a,
  b,
  c,
 
)    IPADDR4_INIT(PP_HTONL(LWIP_MAKEU32(a,b,c,d)))