ipv4: IPv4 Address Handling

## Data Structures

struct | ipv4addr

## Typedefs

typedef uint16 | ipv4port

## Functions

int | ipv4_parse (const char *s, ipv4addr *addr, const char **end) __DEPRECATED__
const char * | ipv4_scan (const char *s, ipv4addr *addr)
const char * | ipv4_format (const ipv4addr *addr)
const char * | ipv4_format_reverse (const ipv4addr *addr)
unsigned | fmt_ipv4addr (char *buffer, const ipv4addr *addr)
unsigned | fmt_ipv4addr_reverse (char *buffer, const ipv4addr *addr)

## Variables

const ipv4addr | IPV4ADDR_ANY
const ipv4addr | IPV4ADDR_BROADCAST
const ipv4addr | IPV4ADDR_LOOPBACK

## Detailed Description

## Typedef Documentation

## ipv4port

typedef uint16 ipv4port

IPv4 port number.

## Function Documentation

## fmt_ipv4addr()

unsigned fmt_ipv4addr | ( | char * | buffer,
|  | const ipv4addr * | addr )

extern

Produce a formatted string from an IPv4 address.

The given buffer must be at least 15 bytes long, or 16 bytes if it needs to contain the standard trailing `NUL` byte.

Returns
  The number of bytes written to the buffer.

Note
  This routine is thread and recursion safe.

References ipv4addr::addr.

Referenced by ipv4_format().

## fmt_ipv4addr_reverse()

unsigned fmt_ipv4addr_reverse | ( | char * | buffer,
|  | const ipv4addr * | addr )

extern

Produce a reverse-formatted string from an IPv4 address.

The given buffer must be at least 15 bytes long, or 16 bytes if it needs to contain the standard trailing `NUL` byte.

Returns
  The number of bytes written to the buffer.

Note
  This routine is thread and recursion safe.

References ipv4addr::addr.

Referenced by ipv4_format_reverse().

## ipv4_format()

const char * ipv4_format | ( | const ipv4addr * | addr | ) |

extern

Produce a formatted C string from an IPv4 address.

Note
  The return value is statically allocated. Multiple calls to this function will return pointers to the same string.

References fmt_ipv4addr().

## ipv4_format_reverse()

const char * ipv4_format_reverse | ( | const ipv4addr * | addr | ) |

extern

Produce a reverse-formatted C string from an IPv4 address.

Note
  The return value is statically allocated. Multiple calls to this function will return pointers to the same string.

References fmt_ipv4addr_reverse().

## ipv4_parse()

int ipv4_parse | ( | const char * | start,
|  | ipv4addr * | addr,
|  | const char ** | end )

extern

Parse an IPv4 address.

Deprecated
  This function is a wrapper for `ipv4_scan`.

Returns
  Non-zero (true) if parsing succeeded, and sets `*end` to the first character past the end of the address.

References ipv4_scan().

## ipv4_scan()

const char * ipv4_scan | ( | const char * | start,
|  | ipv4addr * | addr )

extern

Scan a C string for an IPv4 address.

Returns
  `NULL` if parsing failed, otherwise a pointer to the first character after the end of the address.

References ipv4addr::addr.

Referenced by dns_ip4_r(), dns_ip6_r(), ipv4_parse(), and ipv6_scan().

## Variable Documentation

## IPV4ADDR_ANY

const ipv4addr IPV4ADDR_ANY

extern

IPv4 "any" address constant.

## IPV4ADDR_BROADCAST

const ipv4addr IPV4ADDR_BROADCAST

extern

IPv4 broadcast address constant.

## IPV4ADDR_LOOPBACK

const ipv4addr IPV4ADDR_LOOPBACK

extern

IPv4 loopback address constant.