This is the IPv4 address tools implementation.
Macros | |
#define | in_range(c, lo, up) ((u8_t)c >= lo && (u8_t)c <= up) |
#define | isdigit(c) in_range(c, '0', '9') |
#define | islower(c) in_range(c, 'a', 'z') |
#define | isprint(c) in_range(c, 0x20, 0x7f) |
#define | isspace(c) (c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v') |
#define | isxdigit(c) (isdigit(c) || in_range(c, 'a', 'f') || in_range(c, 'A', 'F')) |
Functions | |
u8_t | ip4_addr_isbroadcast (u32_t addr, const struct netif *netif) |
Determine if an address is a broadcast address on a network interface. More... | |
u8_t | ip4_addr_netmask_valid (u32_t netmask) |
Checks if a netmask is valid (starting with ones, then only zeros) More... | |
u32_t | ipaddr_addr (const char *cp) |
Ascii internet address interpretation routine. More... | |
int | ipaddr_aton (const char *cp, ip_addr_t *addr) |
Check whether "cp" is a valid ascii representation of an Internet address and convert to a binary address. More... | |
char * | ipaddr_ntoa (const ip_addr_t *addr) |
Convert numeric IP address into decimal dotted ASCII representation. More... | |
char * | ipaddr_ntoa_r (const ip_addr_t *addr, char *buf, int buflen) |
Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used. More... | |
Variables | |
const ip_addr_t | ip_addr_any = { IPADDR_ANY } |
const ip_addr_t | ip_addr_broadcast = { IPADDR_BROADCAST } |
#define isdigit | ( | c | ) | in_range(c, '0', '9') |
Referenced by ipaddr_aton().
#define islower | ( | c | ) | in_range(c, 'a', 'z') |
Referenced by ipaddr_aton().
#define isprint | ( | c | ) | in_range(c, 0x20, 0x7f) |
#define isspace | ( | c | ) | (c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v') |
Referenced by ipaddr_aton().
Referenced by ipaddr_aton().
Determine if an address is a broadcast address on a network interface.
addr | address to be checked |
netif | the network interface against which the address is checked |
References netif::flags, ip4_addr_get_u32, ip4_addr_set_u32, netif::ip_addr, ip_addr_netcmp, IPADDR_ANY, IPADDR_BROADCAST, NETIF_FLAG_BROADCAST, and netif::netmask.
Checks if a netmask is valid (starting with ones, then only zeros)
netmask | the IPv4 netmask to check (in network byte order!) |
References lwip_htonl().
u32_t ipaddr_addr | ( | const char * | cp | ) |
Ascii internet address interpretation routine.
The value returned is in network order.
cp | IP address in ascii represenation (e.g. "127.0.0.1") |
References ip4_addr_get_u32, ipaddr_aton(), and IPADDR_NONE.
int ipaddr_aton | ( | const char * | cp, |
ip_addr_t * | addr | ||
) |
Check whether "cp" is a valid ascii representation of an Internet address and convert to a binary address.
Returns 1 if the address is valid, 0 if not. This replaces inet_addr, the return value from which cannot distinguish between failure and a local broadcast address.
cp | IP address in ascii represenation (e.g. "127.0.0.1") |
addr | pointer to which to save the ip address in network order |
References htonl, ip4_addr_set_u32, isdigit, islower, isspace, isxdigit, and LWIP_ASSERT.
Referenced by ipaddr_addr().
char* ipaddr_ntoa | ( | const ip_addr_t * | addr | ) |
Convert numeric IP address into decimal dotted ASCII representation.
returns ptr to static buffer; not reentrant!
returns ptr to static buffer; not reentrant!
addr | ip address in network order to convert |
References ipaddr_ntoa_r().
char* ipaddr_ntoa_r | ( | const ip_addr_t * | addr, |
char * | buf, | ||
int | buflen | ||
) |
Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used.
addr | ip address in network order to convert |
buf | target buffer where the string is stored |
buflen | length of buf |
References ip4_addr_get_u32, and NULL.
Referenced by ipaddr_ntoa().
const ip_addr_t ip_addr_any = { IPADDR_ANY } |
const ip_addr_t ip_addr_broadcast = { IPADDR_BROADCAST } |