NetServices Stack source

Dependents:   HelloWorld ServoInterfaceBoardExample1 4180_Lab4

Embed: (wiki syntax)

« Back to documentation index

ip_addr.c File Reference

ip_addr.c File Reference

This is the IPv4 address tools implementation. More...

Go to the source code of this file.

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.
u8_t ip4_addr_netmask_valid (u32_t netmask)
 Checks if a netmask is valid (starting with ones, then only zeros)
u32_t ipaddr_addr (const char *cp)
 Ascii internet address interpretation routine.
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.
char * ipaddr_ntoa (const ip_addr_t *addr)
 Convert numeric IP address into decimal dotted ASCII representation.
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.

Detailed Description

This is the IPv4 address tools implementation.

Definition in file ip_addr.c.


Function Documentation

u8_t ip4_addr_isbroadcast ( u32_t  addr,
const struct netif *  netif 
)

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

Parameters:
addraddress to be checked
netifthe network interface against which the address is checked
Returns:
returns non-zero if the address is a broadcast address

Definition at line 55 of file ip_addr.c.

u8_t ip4_addr_netmask_valid ( u32_t  netmask )

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

Parameters:
netmaskthe IPv4 netmask to check (in network byte order!)
Returns:
1 if the netmask is valid, 0 if it is not

Definition at line 90 of file ip_addr.c.

u32_t ipaddr_addr ( const char *  cp )

Ascii internet address interpretation routine.

The value returned is in network order.

Parameters:
cpIP address in ascii represenation (e.g. "127.0.0.1")
Returns:
ip address in network order

Definition at line 130 of file ip_addr.c.

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.

Parameters:
cpIP address in ascii represenation (e.g. "127.0.0.1")
addrpointer to which to save the ip address in network order
Returns:
1 if cp could be converted to addr, 0 on failure

Definition at line 152 of file ip_addr.c.

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!

Parameters:
addrip address in network order to convert
Returns:
pointer to a global static (!) buffer that holds the ASCII represenation of addr

Definition at line 261 of file ip_addr.c.

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.

Parameters:
addrip address in network order to convert
buftarget buffer where the string is stored
buflenlength of buf
Returns:
either pointer to buf which now holds the ASCII representation of addr or NULL if buf was too small

Definition at line 276 of file ip_addr.c.