mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-01-15 22:49:16 +00:00
Fixed constant initializer problem in ip_addr_t by having ip6 first
This commit is contained in:
parent
ffd45a2261
commit
d31dbc6798
@ -44,24 +44,8 @@
|
||||
#include "lwip/netif.h"
|
||||
|
||||
/* used by IP_ADDR_ANY and IP_ADDR_BROADCAST in ip_addr.h */
|
||||
const ip_addr_t ip_addr_any = {
|
||||
#if LWIP_IPV6
|
||||
{
|
||||
#endif
|
||||
IPADDR_ANY
|
||||
#if LWIP_IPV6
|
||||
}, IPADDR_TYPE_V4
|
||||
#endif
|
||||
};
|
||||
const ip_addr_t ip_addr_broadcast = {
|
||||
#if LWIP_IPV6
|
||||
{
|
||||
#endif
|
||||
IPADDR_BROADCAST
|
||||
#if LWIP_IPV6
|
||||
}, IPADDR_TYPE_V4
|
||||
#endif
|
||||
};
|
||||
const ip_addr_t ip_addr_any = IPADDR4_INIT(IPADDR_ANY);
|
||||
const ip_addr_t ip_addr_broadcast = IPADDR4_INIT(IPADDR_BROADCAST);
|
||||
|
||||
/**
|
||||
* Determine if an address is a broadcast address on a network interface
|
||||
|
@ -48,13 +48,7 @@
|
||||
#include "lwip/def.h"
|
||||
|
||||
/* used by IP6_ADDR_ANY(6) in ip6_addr.h */
|
||||
const ip_addr_t ip6_addr_any = {
|
||||
#if LWIP_IPV4
|
||||
{ 0ul }, IPADDR_TYPE_V6
|
||||
#else
|
||||
0ul, 0ul, 0ul, 0ul
|
||||
#endif
|
||||
};
|
||||
const ip_addr_t ip6_addr_any = IPADDR6_INIT(0xaul, 0xbul, 0xcul, 0xdul);
|
||||
|
||||
#ifndef isprint
|
||||
#define in_range(c, lo, up) ((u8_t)c >= lo && (u8_t)c <= up)
|
||||
|
@ -48,8 +48,8 @@ extern "C" {
|
||||
*/
|
||||
typedef struct _ip_addr {
|
||||
union {
|
||||
ip4_addr_t ip4;
|
||||
ip6_addr_t ip6;
|
||||
ip4_addr_t ip4;
|
||||
} addr;
|
||||
u8_t type;
|
||||
} ip_addr_t;
|
||||
@ -58,6 +58,9 @@ typedef struct _ip_addr {
|
||||
#define IPADDR_TYPE_V4 0U
|
||||
#define IPADDR_TYPE_V6 6U
|
||||
|
||||
#define IPADDR4_INIT(u32val) { { { u32val, 0ul, 0ul, 0ul } }, IPADDR_TYPE_V4 }
|
||||
#define IPADDR6_INIT(a, b, c, d) { { { a, b, c, d } }, IPADDR_TYPE_V6 }
|
||||
|
||||
#define IP_IS_V6_L(ipaddr) ((ipaddr)->type == IPADDR_TYPE_V6)
|
||||
#define IP_IS_V6(ipaddr) (((ipaddr) != NULL) && IP_IS_V6_L(ipaddr))
|
||||
#define IP_SET_TYPE_L(ipaddr, iptype) do { (ipaddr)->type = (iptype); }while(0)
|
||||
@ -145,12 +148,13 @@ int ipaddr_aton(const char *cp, ip_addr_t *addr);
|
||||
#if LWIP_IPV4
|
||||
|
||||
typedef ip4_addr_t ip_addr_t;
|
||||
#define IP_IS_V6_L(ipaddr) 0
|
||||
#define IP_IS_V6(ipaddr) 0
|
||||
#define IPADDR4_INIT(u32val) { u32val }
|
||||
#define IP_IS_V6_L(ipaddr) 0
|
||||
#define IP_IS_V6(ipaddr) 0
|
||||
#define IP_SET_TYPE_L(ipaddr, iptype)
|
||||
#define IP_SET_TYPE(ipaddr, iptype)
|
||||
#define ip4_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip4(ipaddr) (ipaddr)
|
||||
#define ip4_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip4(ipaddr) (ipaddr)
|
||||
|
||||
#define ip_addr_copy(dest, src) ip4_addr_copy(dest, src)
|
||||
#define ip_addr_copy_from_ip4(dest, src) ip4_addr_copy(dest, src)
|
||||
@ -177,12 +181,13 @@ typedef ip4_addr_t ip_addr_t;
|
||||
#else /* LWIP_IPV4 */
|
||||
|
||||
typedef ip6_addr_t ip_addr_t;
|
||||
#define IP_IS_V6_L(ipaddr) 1
|
||||
#define IP_IS_V6(ipaddr) 1
|
||||
#define IPADDR6_INIT(a, b, c, d) { a, b, c, d }
|
||||
#define IP_IS_V6_L(ipaddr) 1
|
||||
#define IP_IS_V6(ipaddr) 1
|
||||
#define IP_SET_TYPE_L(ipaddr, iptype)
|
||||
#define IP_SET_TYPE(ipaddr, iptype)
|
||||
#define ip6_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip6(ipaddr) (ipaddr)
|
||||
#define ip6_2_ip(ipaddr, unused) (ipaddr)
|
||||
#define ip_2_ip6(ipaddr) (ipaddr)
|
||||
|
||||
#define ip_addr_copy(dest, src) ip6_addr_copy(dest, src)
|
||||
#define ip_addr_copy_from_ip6(dest, src) ip6_addr_copy(dest, src)
|
||||
|
Loading…
Reference in New Issue
Block a user