22 #include <user_config.h> 26 #if LWIP_VERSION_MAJOR == 2 27 #define LWIP_IP_ADDR_T const ip_addr_t 31 #define IP_ADDR4(IP, A, B, C, D) IP4_ADDR(IP, A, B, C, D) 32 #define ip_addr_set_ip4_u32(IP, U32) ip4_addr_set_u32(IP, U32) 33 #define ip_addr_get_ip4_u32(IP) ip4_addr_get_u32(IP) 34 #define ip_2_ip4(IP) (IP) 35 #define ip4_addr_netcmp(A, B, C) ip_addr_netcmp(A, B, C) 36 #define LWIP_IP_ADDR_T ip_addr_t 48 void fromString(
const String& address);
56 IpAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
58 IP_ADDR4(&address, first_octet, second_octet, third_octet, fourth_octet);
76 #if LWIP_VERSION_MAJOR == 2 && LWIP_IPV6 79 ip_addr_copy_from_ip4(address, addr);
88 IP_ADDR4(&this->address, address[0], address[1], address[2], address[3]);
96 operator uint32_t()
const 111 #if LWIP_VERSION_MAJOR == 2 && LWIP_IPV6 125 return ip_addr_cmp(&address, &otherAddress.address);
135 return !ip_addr_cmp(&address, &otherAddress.address);
145 return ip_addr_isany(&address);
152 return ip_addr_netcmp(&address, &addr.address,
ip_2_ip4(&mask.address));
162 return reinterpret_cast<const uint8_t*
>(&
ip_2_ip4(&address)->addr)[index];
171 return reinterpret_cast<uint8_t*
>(&
ip_2_ip4(&address)->addr)[index];
177 IP_ADDR4(&this->address, address[0], address[1], address[2], address[3]);
200 #define INADDR_NONE IpAddress() bool operator!=(const IpAddress &otherAddress) const
Definition: IpAddress.h:133
A class to make it easier to handle and pass around IP addresses.
Definition: IpAddress.h:43
bool operator==(const IpAddress &otherAddress) const
Definition: IpAddress.h:123
#define IP_ADDR4(IP, A, B, C, D)
Definition: IpAddress.h:31
IpAddress & operator=(const uint8_t address[4])
Definition: IpAddress.h:175
IpAddress()
Definition: IpAddress.h:52
uint8_t & operator[](int index)
Definition: IpAddress.h:165
IpAddress(const ip_addr_t &addr)
Definition: IpAddress.h:71
uint8_t operator[](int index) const
Definition: IpAddress.h:156
The String class.
Definition: WString.h:136
Provides formatted output to stream.
Definition: Print.h:36
IpAddress(const String &address)
Definition: IpAddress.h:91
bool isNull() const
Definition: IpAddress.h:143
IpAddress & operator=(const String &address)
Definition: IpAddress.h:187
IpAddress(const uint8_t address[4])
Definition: IpAddress.h:86
IpAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
Definition: IpAddress.h:56
#define SMING_DEPRECATED
Definition: sming_attr.h:30
bool compare(const IpAddress &addr, const IpAddress &mask) const
Definition: IpAddress.h:150
IpAddress & operator=(uint32_t address)
Definition: IpAddress.h:181
bool operator!=(const uint8_t addr[4]) const
Definition: IpAddress.h:138
Definition: Printable.h:42
ip_addr_t ip4_addr_t
Definition: IpAddress.h:30
bool operator==(const uint8_t addr[4]) const
Definition: IpAddress.h:128
IpAddress(uint32_t address)
Definition: IpAddress.h:61
#define ip_addr_set_ip4_u32(IP, U32)
Definition: IpAddress.h:32
#define ip_2_ip4(IP)
Definition: IpAddress.h:34
IpAddress(ip_addr_t &addr)
Definition: IpAddress.h:66
size_t printTo(Print &p) const override
#define ip_addr_get_ip4_u32(IP)
Definition: IpAddress.h:33
struct ip_addr ip_addr_t
Definition: IpAddress.h:29