.TH fmt_ip6 3
.SH NAME
fmt_ip6 \- write a formatted ASCII representation of an IPv6 number
.SH SYNTAX
.B #include <ip6.h>

unsigned int \fBfmt_ip6\fP(char *\fIdest\fR,const char \fIip\fR[16]);
.SH DESCRIPTION
fmt_ip6 formats an IPv6 number in ASCII representation from \fIip\fR and
writes the result into \fIdest\fR. It returns the number of bytes
written.

fmt_ip6 will apply "::" compression to the output.

If \fIip\fR is an IPv4-mapped IPv6 address, fmt_ip6 will output the last
4 bytes as IPv4 number in dotted-decimal notation.

If \fIdest\fR equals FMT_LEN (i.e. is zero), fmt_ip6 returns the number
of bytes it would have written.

fmt_ip6 does not append \\0.

For convenience, ip6.h defines the integer IP6_FMT to be big enough to
contain every possible fmt_ip6 output plus \\0.
.SH EXAMPLE
#include <ip6.h>

  char buf[IP6_FMT];
  char ip[16];
  buf[fmt_ip6(buf,ip)]=0;
.SH "SEE ALSO"
scan_ip6(3), fmt_ip4(3)