96 for (mask = 1U << 31 ; mask != 0; mask >>= 1) {
97 if ((nm_hostorder & mask) == 0) {
102 for (; mask != 0; mask >>= 1) {
103 if ((nm_hostorder & mask) != 0) {
114 #define in_range(c, lo, up) ((u8_t)c >= lo && (u8_t)c <= up) 115 #define isprint(c) in_range(c, 0x20, 0x7f) 117 #define isxdigit(c) (isdigit(c) || in_range(c, 'a', 'f') || in_range(c, 'A', 'F')) 118 #define islower(c) in_range(c, 'a', 'z') 119 #define isspace(c) (c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v') 158 unsigned long cutoff;
176 if (c ==
'x' || c ==
'X') {
183 cutoff =(
unsigned long)0xffffffff / (
unsigned long)base;
184 cutlim =(
unsigned long)0xffffffff % (
unsigned long)base;
190 if (val > cutoff || (val == cutoff && ch > cutlim))
193 val = (val * base) + (
int)(c -
'0');
195 }
else if (base == 16 &&
isxdigit(c)) {
196 ch = (int)(c + 10 - (
islower(c) ?
'a' :
'A'));
198 if (val > cutoff || (val == cutoff && ch > cutlim))
201 val = (val << 4) | (
int)(c + 10 - (
islower(c) ?
'a' :
'A'));
213 if (pp >= parts + 3) {
224 if (c !=
'\0' && !
isspace(c)) {
231 switch (pp - parts + 1) {
240 if ((val > 0xffffffUL) || (parts[0] > 0xff)) {
243 val |= parts[0] << 24;
247 if ((val > 0xffff) || (parts[0] > 0xff) || (parts[1] > 0xff)) {
250 val |= (parts[0] << 24) | (parts[1] << 16);
254 if ((val > 0xff) || (parts[0] > 0xff) || (parts[1] > 0xff) || (parts[2] > 0xff)) {
257 val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
307 ap = (
u8_t *)&s_addr;
308 for(n = 0; n < 4; n++) {
311 rem = *ap % (
u8_t)10;
313 inv[i++] =
'0' + rem;
316 if (len++ >= buflen) {
321 if (len++ >= buflen) {
#define ip4_addr_get_u32(src_ipaddr)
#define ip_addr_netcmp(addr1, addr2, mask)
u8_t ip4_addr_isbroadcast(u32_t addr, const struct netif *netif)
char * ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen)
const ip_addr_t ip_addr_any ICACHE_RODATA_ATTR
char * ipaddr_ntoa(const ip_addr_t *addr)
u32_t lwip_htonl(u32_t n)
#define NETIF_FLAG_BROADCAST
typedefPACK_STRUCT_END struct ip_addr ip_addr_t
u32_t ipaddr_addr(const char *cp)
u8_t ip4_addr_netmask_valid(u32_t netmask)
#define LWIP_ASSERT(message, assertion)
int ipaddr_aton(const char *cp, ip_addr_t *addr)
#define ip4_addr_set_u32(dest_ipaddr, src_u32)
const ip_addr_t ip_addr_broadcast
const ip_addr_t ip_addr_any