bglibs
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.