ip4_addr.c File Reference
`#include "lwip/opt.h"`
`#include "lwip/ip_addr.h"`
`#include "lwip/netif.h"`

## Functions

u8_t | ip4_addr_isbroadcast_u32 (u32_t addr, const struct netif *netif)
u8_t | ip4_addr_netmask_valid (u32_t netmask)
u32_t | ipaddr_addr (const char *cp)
int | ip4addr_aton (const char *cp, ip4_addr_t *addr)
char * | ip4addr_ntoa (const ip4_addr_t *addr)
char * | ip4addr_ntoa_r (const ip4_addr_t *addr, char *buf, int buflen)

## Detailed Description

This is the IPv4 address tools implementation.

## Function Documentation

## ip4_addr_isbroadcast_u32()

u8_t ip4_addr_isbroadcast_u32 | ( | u32_t | addr,
|  | const struct netif * | netif
| ) |  |

Determine if an address is a broadcast address on a network interface

Parameters

  addr | address to be checked
  netif | the network interface against which the address is checked

Returns
  returns non-zero if the address is a broadcast address

## ip4_addr_netmask_valid()

u8_t ip4_addr_netmask_valid | ( | u32_t | netmask | ) |

Checks if a netmask is valid (starting with ones, then only zeros)

Parameters

  netmask | the IPv4 netmask to check (in network byte order!)

Returns
  1 if the netmask is valid, 0 if it is not

## ip4addr_aton()

int ip4addr_aton | ( | const char * | cp,
|  | ip4_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.

Parameters

  cp | IP address in ascii representation (e.g. "127.0.0.1")
  addr | pointer to which to save the ip address in network order

Returns
  1 if cp could be converted to addr, 0 on failure

## ip4addr_ntoa()

char* ip4addr_ntoa | ( | const ip4_addr_t * | addr | ) |

Convert numeric IP address into decimal dotted ASCII representation. returns ptr to static buffer; not reentrant!

Parameters

  addr | ip address in network order to convert

Returns
  pointer to a global static (!) buffer that holds the ASCII representation of addr

## ip4addr_ntoa_r()

char* ip4addr_ntoa_r | ( | const ip4_addr_t * | addr,
|  | char * | buf,
|  | int | buflen
| ) |  |

Same as ip4addr_ntoa, but reentrant since a user-supplied buffer is used.

Parameters

  addr | ip address in network order to convert
  buf | target buffer where the string is stored
  buflen | length of buf

Returns
  either pointer to buf which now holds the ASCII representation of addr or NULL if buf was too small

## ipaddr_addr()

u32_t ipaddr_addr | ( | const char * | cp | ) |

Ascii internet address interpretation routine. The value returned is in network order.

Parameters

  cp | IP address in ascii representation (e.g. "127.0.0.1")

Returns
  ip address in network order