bglibs: ipv6: IPv6 Address Handling

- Main Page
- Modules
- Data Structures
- Files
- Directories
- Related Pages
- Examples

# ipv6: IPv6 Address Handling

## Data Structures
struct | ipv6addr
## Typedefs
typedef uint16 | ipv6port
## Functions
const char * | ipv6_scan (const char *s, ipv6addr *addr)
const char * | ipv6_format (const ipv6addr *addr)
unsigned | fmt_ipv6addr (char *buffer, const ipv6addr *addr)
## Variables
const ipv6addr | IPV6ADDR_ANY
const ipv6addr | IPV6ADDR_LOOPBACK

## Typedef Documentation

typedef uint16 ipv6port

IPv6 port number.

## Function Documentation

unsigned fmt_ipv6addr | ( | char * | buffer,
|  | const ipv6addr * | addr |
| ) |  |  |

Produce a formatted string from an IPv6 address.

The given buffer must be at least 39 bytes long, or 40 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.

const char* ipv6_format | ( | const ipv6addr * | addr | ) |

Produce a formatted C string from an IPv6 address.

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

const char* ipv6_scan | ( | const char * | s,
|  | ipv6addr * | addr |
| ) |  |  |

Scan a C string for an IPv6 address.

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

## Variable Documentation

const ipv6addr IPV6ADDR_ANY

IPv6 "any" address constant.

const ipv6addr IPV6ADDR_LOOPBACK

IPv6 loopback address constant.