mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2026-05-18 06:06:57 +08:00
Compiler warning fixes (mostly constness in dual-stack configurations)
This commit is contained in:
committed by
goldsimon
parent
726af89168
commit
f62022cdf3
@@ -38,6 +38,8 @@
|
||||
|
||||
#if LWIP_DNS
|
||||
|
||||
#include "lwip/ip_addr.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -88,7 +90,7 @@ typedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *ca
|
||||
|
||||
void dns_init(void);
|
||||
void dns_tmr(void);
|
||||
void dns_setserver(u8_t numdns, ip_addr_t *dnsserver);
|
||||
void dns_setserver(u8_t numdns, const ip_addr_t *dnsserver);
|
||||
ip_addr_t dns_getserver(u8_t numdns);
|
||||
err_t dns_gethostbyname(const char *hostname, ip_addr_t *addr,
|
||||
dns_found_callback found, void *callback_arg);
|
||||
|
||||
@@ -245,26 +245,26 @@ extern struct ip_globals ip_data;
|
||||
#if LWIP_IPV4 && LWIP_IPV6
|
||||
#define ip_output(isipv6, p, src, dest, ttl, tos, proto) \
|
||||
((isipv6) ? \
|
||||
ip6_output(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto) : \
|
||||
ip4_output(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto))
|
||||
ip6_output(p, ip_2_ip6_c(src), ip_2_ip6_c(dest), ttl, tos, proto) : \
|
||||
ip4_output(p, ip_2_ip4_c(src), ip_2_ip4_c(dest), ttl, tos, proto))
|
||||
#define ip_output_if(isipv6, p, src, dest, ttl, tos, proto, netif) \
|
||||
((isipv6) ? \
|
||||
ip6_output_if(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, netif) : \
|
||||
ip4_output_if(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, netif))
|
||||
ip6_output_if(p, ip_2_ip6_c(src), ip_2_ip6_c(dest), ttl, tos, proto, netif) : \
|
||||
ip4_output_if(p, ip_2_ip4_c(src), ip_2_ip4_c(dest), ttl, tos, proto, netif))
|
||||
#define ip_output_if_src(isipv6, p, src, dest, ttl, tos, proto, netif) \
|
||||
((isipv6) ? \
|
||||
ip6_output_if_src(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, netif) : \
|
||||
ip4_output_if_src(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, netif))
|
||||
ip6_output_if_src(p, ip_2_ip6_c(src), ip_2_ip6_c(dest), ttl, tos, proto, netif) : \
|
||||
ip4_output_if_src(p, ip_2_ip4_c(src), ip_2_ip4_c(dest), ttl, tos, proto, netif))
|
||||
#define ip_output_hinted(isipv6, p, src, dest, ttl, tos, proto, addr_hint) \
|
||||
((isipv6) ? \
|
||||
ip6_output_hinted(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, addr_hint) : \
|
||||
ip4_output_hinted(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, addr_hint))
|
||||
ip6_output_hinted(p, ip_2_ip6_c(src), ip_2_ip6_c(dest), ttl, tos, proto, addr_hint) : \
|
||||
ip4_output_hinted(p, ip_2_ip4_c(src), ip_2_ip4_c(dest), ttl, tos, proto, addr_hint))
|
||||
#define ip_route(isipv6, src, dest) \
|
||||
((isipv6) ? \
|
||||
ip6_route(ip_2_ip6(src), ip_2_ip6(dest)) : \
|
||||
ip4_route_src(ip_2_ip4(dest), ip_2_ip4(src)))
|
||||
ip6_route(ip_2_ip6_c(src), ip_2_ip6_c(dest)) : \
|
||||
ip4_route_src(ip_2_ip4_c(dest), ip_2_ip4_c(src)))
|
||||
#define ip_netif_get_local_ip(isipv6, netif, dest, storage) ((isipv6) ? \
|
||||
ip6_2_ip(ip6_netif_get_local_ip(netif, ip_2_ip6(dest)), storage) : \
|
||||
ip6_2_ip(ip6_netif_get_local_ip(netif, ip_2_ip6_c(dest)), storage) : \
|
||||
ip4_2_ip(ip4_netif_get_local_ip(netif), storage))
|
||||
#define ip_debug_print(is_ipv6, p) ((is_ipv6) ? ip6_debug_print(p) : ip4_debug_print(p))
|
||||
#elif LWIP_IPV4 /* LWIP_IPV4 && LWIP_IPV6 */
|
||||
|
||||
@@ -76,11 +76,17 @@ ip_addr_t* ip6_2_ip(const ip6_addr_t *ip6addr, ip_addr_t* storage);
|
||||
#ifdef LWIP_ALLOW_STATIC_FN_IN_HEADER
|
||||
static ip6_addr_t* ip_2_ip6(const ip_addr_t *ipaddr)
|
||||
{ if(ipaddr) { return (ip6_addr_t*)&((ipaddr)->addr.ip6); } return NULL; }
|
||||
static const ip6_addr_t* ip_2_ip6(const ip_addr_t *ipaddr)
|
||||
{ if(ipaddr) { return (const ip6_addr_t*)&((ipaddr)->addr.ip6); } return NULL; }
|
||||
static ip4_addr_t* ip_2_ip4(const ip_addr_t *ipaddr)
|
||||
{ if(ipaddr) { return (ip4_addr_t*)&((ipaddr)->addr.ip4); } return NULL; }
|
||||
static const ip4_addr_t* ip_2_ip4_c(const ip_addr_t *ipaddr)
|
||||
{ if(ipaddr) { return (const ip4_addr_t*)&((ipaddr)->addr.ip4); } return NULL; }
|
||||
#else /* LWIP_ALLOW_STATIC_FN_IN_HEADER */
|
||||
#define ip_2_ip6(ipaddr) ((ip6_addr_t*)(ipaddr))
|
||||
#define ip_2_ip6_c(ipaddr) ((const ip6_addr_t*)(ipaddr))
|
||||
#define ip_2_ip4(ipaddr) ((ip4_addr_t*)(ipaddr))
|
||||
#define ip_2_ip4_c(ipaddr) ((const ip4_addr_t*)(ipaddr))
|
||||
#endif /* LWIP_ALLOW_STATIC_FN_IN_HEADER */
|
||||
|
||||
#define IP_ADDR4(ipaddr,a,b,c,d) do { IP4_ADDR(ip_2_ip4(ipaddr),a,b,c,d); \
|
||||
@@ -100,11 +106,11 @@ static ip4_addr_t* ip_2_ip4(const ip_addr_t *ipaddr)
|
||||
#define ip_addr_get_ip4_u32(ipaddr) (((ipaddr) && !IP_IS_V6(ipaddr)) ? \
|
||||
ip4_addr_get_u32(ip_2_ip4(ipaddr)) : 0)
|
||||
#define ip_addr_set(dest, src) do{if(IP_IS_V6(src)){ \
|
||||
ip6_addr_set(ip_2_ip6(dest), ip_2_ip6(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V6); }else{ \
|
||||
ip4_addr_set(ip_2_ip4(dest), ip_2_ip4(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0)
|
||||
ip6_addr_set(ip_2_ip6(dest), ip_2_ip6_c(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V6); }else{ \
|
||||
ip4_addr_set(ip_2_ip4(dest), ip_2_ip4_c(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0)
|
||||
#define ip_addr_set_ipaddr(dest, src) do{if(IP_IS_V6(src)){ \
|
||||
ip6_addr_set(ip_2_ip6(dest), ip_2_ip6(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V6); }else{ \
|
||||
ip4_addr_set(ip_2_ip4(dest), ip_2_ip4(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0)
|
||||
ip6_addr_set(ip_2_ip6(dest), ip_2_ip6_c(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V6); }else{ \
|
||||
ip4_addr_set(ip_2_ip4(dest), ip_2_ip4_c(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0)
|
||||
#define ip_addr_set_zero(ipaddr) do{ \
|
||||
ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, 0); }while(0)
|
||||
#define ip_addr_set_zero_ip6(ipaddr) do{ \
|
||||
@@ -125,11 +131,11 @@ static ip4_addr_t* ip_2_ip4(const ip_addr_t *ipaddr)
|
||||
0 : \
|
||||
ip4_addr_netcmp(ip_2_ip4(addr1), ip_2_ip4(addr2), mask))
|
||||
#define ip_addr_cmp(addr1, addr2) ((IP_IS_V6_VAL(*(addr1)) != IP_IS_V6_VAL(*(addr2))) ? 0 : (IP_IS_V6_VAL(*(addr1)) ? \
|
||||
ip6_addr_cmp(ip_2_ip6(addr1), ip_2_ip6(addr2)) : \
|
||||
ip4_addr_cmp(ip_2_ip4(addr1), ip_2_ip4(addr2))))
|
||||
ip6_addr_cmp(ip_2_ip6_c(addr1), ip_2_ip6_c(addr2)) : \
|
||||
ip4_addr_cmp(ip_2_ip4_c(addr1), ip_2_ip4_c(addr2))))
|
||||
#define ip_addr_isany(ipaddr) ((IP_IS_V6(ipaddr)) ? \
|
||||
ip6_addr_isany(ip_2_ip6(ipaddr)) : \
|
||||
ip4_addr_isany(ip_2_ip4(ipaddr)))
|
||||
ip6_addr_isany(ip_2_ip6_c(ipaddr)) : \
|
||||
ip4_addr_isany(ip_2_ip4_c(ipaddr)))
|
||||
#define ip_addr_isany_val(ipaddr) ((IP_IS_V6_VAL(ipaddr)) ? \
|
||||
ip6_addr_isany_val(*ip_2_ip6(&(ipaddr))) : \
|
||||
ip4_addr_isany_val(*ip_2_ip4(&(ipaddr))))
|
||||
@@ -137,24 +143,24 @@ static ip4_addr_t* ip_2_ip4(const ip_addr_t *ipaddr)
|
||||
0 : \
|
||||
ip4_addr_isbroadcast(ip_2_ip4(ipaddr), netif))
|
||||
#define ip_addr_ismulticast(ipaddr) ((IP_IS_V6(ipaddr)) ? \
|
||||
ip6_addr_ismulticast(ip_2_ip6(ipaddr)) : \
|
||||
ip4_addr_ismulticast(ip_2_ip4(ipaddr)))
|
||||
ip6_addr_ismulticast(ip_2_ip6_c(ipaddr)) : \
|
||||
ip4_addr_ismulticast(ip_2_ip4_c(ipaddr)))
|
||||
#define ip_addr_isloopback(ipaddr) ((IP_IS_V6(ipaddr)) ? \
|
||||
ip6_addr_isloopback(ip_2_ip6(ipaddr)) : \
|
||||
ip4_addr_isloopback(ip_2_ip4(ipaddr)))
|
||||
ip6_addr_isloopback(ip_2_ip6_c(ipaddr)) : \
|
||||
ip4_addr_isloopback(ip_2_ip4_c(ipaddr)))
|
||||
#define ip_addr_islinklocal(ipaddr) ((IP_IS_V6(ipaddr)) ? \
|
||||
ip6_addr_islinklocal(ip_2_ip6(ipaddr)) : \
|
||||
ip4_addr_islinklocal(ip_2_ip4(ipaddr)))
|
||||
ip6_addr_islinklocal(ip_2_ip6_c(ipaddr)) : \
|
||||
ip4_addr_islinklocal(ip_2_ip4_c(ipaddr)))
|
||||
#define ip_addr_debug_print(debug, ipaddr) do { if(IP_IS_V6(ipaddr)) { \
|
||||
ip6_addr_debug_print(debug, ip_2_ip6(ipaddr)); } else { \
|
||||
ip4_addr_debug_print(debug, ip_2_ip4(ipaddr)); }}while(0)
|
||||
ip6_addr_debug_print(debug, ip_2_ip6_c(ipaddr)); } else { \
|
||||
ip4_addr_debug_print(debug, ip_2_ip4_c(ipaddr)); }}while(0)
|
||||
#define ip_addr_debug_print_val(debug, ipaddr) do { if(IP_IS_V6_VAL(ipaddr)) { \
|
||||
ip6_addr_debug_print_val(debug, *ip_2_ip6(&(ipaddr))); } else { \
|
||||
ip4_addr_debug_print_val(debug, *ip_2_ip4(&(ipaddr))); }}while(0)
|
||||
ip6_addr_debug_print_val(debug, *ip_2_ip6_c(&(ipaddr))); } else { \
|
||||
ip4_addr_debug_print_val(debug, *ip_2_ip4_c(&(ipaddr))); }}while(0)
|
||||
#define ipaddr_ntoa(addr) (((addr) == NULL) ? "NULL" : \
|
||||
((IP_IS_V6(addr)) ? ip6addr_ntoa(ip_2_ip6(addr)) : ip4addr_ntoa(ip_2_ip4(addr))))
|
||||
((IP_IS_V6(addr)) ? ip6addr_ntoa(ip_2_ip6_c(addr)) : ip4addr_ntoa(ip_2_ip4_c(addr))))
|
||||
#define ipaddr_ntoa_r(addr, buf, buflen) (((addr) == NULL) ? "NULL" : \
|
||||
((IP_IS_V6(addr)) ? ip6addr_ntoa_r(ip_2_ip6(addr), buf, buflen) : ip4addr_ntoa_r(ip_2_ip4(addr), buf, buflen)))
|
||||
((IP_IS_V6(addr)) ? ip6addr_ntoa_r(ip_2_ip6_c(addr), buf, buflen) : ip4addr_ntoa_r(ip_2_ip4_c(addr), buf, buflen)))
|
||||
int ipaddr_aton(const char *cp, ip_addr_t *addr);
|
||||
|
||||
#else /* LWIP_IPV4 && LWIP_IPV6 */
|
||||
@@ -171,6 +177,7 @@ typedef ip4_addr_t ip_addr_t;
|
||||
#define IP_SET_TYPE(ipaddr, iptype)
|
||||
#define ip4_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip4(ipaddr) (ipaddr)
|
||||
#define ip_2_ip4_c(ipaddr) (ipaddr)
|
||||
#define IP_ADDR4(ipaddr,a,b,c,d) IP4_ADDR(ipaddr,a,b,c,d)
|
||||
|
||||
#define ip_addr_copy(dest, src) ip4_addr_copy(dest, src)
|
||||
@@ -201,13 +208,14 @@ typedef ip4_addr_t ip_addr_t;
|
||||
#else /* LWIP_IPV4 */
|
||||
|
||||
typedef ip6_addr_t ip_addr_t;
|
||||
#define IPADDR6_INIT(a, b, c, d) { a, b, c, d }
|
||||
#define IPADDR6_INIT(a, b, c, d) { { a, b, c, d } }
|
||||
#define IP_IS_V6_VAL(ipaddr) 1
|
||||
#define IP_IS_V6(ipaddr) 1
|
||||
#define IP_SET_TYPE_VAL(ipaddr, iptype)
|
||||
#define IP_SET_TYPE(ipaddr, iptype)
|
||||
#define ip6_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip6(ipaddr) (ipaddr)
|
||||
#define ip_2_ip6_c(ipaddr) (ipaddr)
|
||||
#define IP_ADDR6(ipaddr,idx,a,b,c,d) IP6_ADDR(ipaddr,idx,a,b,c,d)
|
||||
|
||||
#define ip_addr_copy(dest, src) ip6_addr_copy(dest, src)
|
||||
@@ -250,8 +258,8 @@ extern const ip_addr_t ip_addr_broadcast;
|
||||
/** IP4_ADDR_ can be used as a fixed/const ip4_addr_t
|
||||
* for the wildcard and the broadcast address
|
||||
*/
|
||||
#define IP4_ADDR_ANY (ip_2_ip4(&ip_addr_any))
|
||||
#define IP4_ADDR_BROADCAST (ip_2_ip4(&ip_addr_broadcast))
|
||||
#define IP4_ADDR_ANY (ip_2_ip4_c(&ip_addr_any))
|
||||
#define IP4_ADDR_BROADCAST (ip_2_ip4_c(&ip_addr_broadcast))
|
||||
|
||||
#endif /* LWIP_IPV4*/
|
||||
|
||||
@@ -266,7 +274,7 @@ extern const ip_addr_t ip6_addr_any;
|
||||
/** IP6_ADDR_ANY6 can be used as a fixed ip6_addr_t
|
||||
* for the IPv6 wildcard address
|
||||
*/
|
||||
#define IP6_ADDR_ANY6 (ip_2_ip6(&ip6_addr_any))
|
||||
#define IP6_ADDR_ANY6 (ip_2_ip6_c(&ip6_addr_any))
|
||||
|
||||
#if !LWIP_IPV4
|
||||
/** Just a little upgrade-helper for IPv6-only configurations: */
|
||||
|
||||
Reference in New Issue
Block a user