Write a formatted ascii representation of an ipv6 number
#include <ip6.h>
unsigned int fmt_ip6c(char *dest,const char ip[16]);
fmt_ip6c formats an IPv6 number in ASCII representation from ip and writes the result into dest. It returns the number of bytes written.
fmt_ip6c will apply "::" compression to the output.
If ip is an IPv4-mapped IPv6 address, fmt_ip6c will output it as IPv4 address.
If dest equals FMT_LEN (i.e. is zero), fmt_ip6c returns the number of bytes it would have written.
fmt_ip6c does not append \0.
For convenience, ip6.h defines the integer IP6_FMT to be big enough to contain every possible fmt_ip6c output plus \0.
#include <ip6.h>
char buf[IP6_FMT]; char ip[16]; buf[fmt_ip6c(buf,ip)]=0;