Write a formatted ascii representation of an ipv6 number
#include <ip6.h>
unsigned int fmt_ip6_flat(char *dest,const char ip[16]);
fmt_ip6_flat formats an IPv6 number in a flat ASCII representation from ip and writes the result into dest. It returns the number of bytes written (always 32).
This representation does not contain colons and is meant to be easily machine-readable. Use fmt_ip6 for the normal (standard) representation. This function is meant for places which use colons to separate fields and thus have problems interpreting the standard IPv6 notation.
If dest equals FMT_LEN (i.e. is zero), fmt_ip6_flat returns the number of bytes it would have written.
fmt_ip6_flat does not append \0.
For convenience, ip6.h defines the integer IP6_FMT to be big enough to contain every possible fmt_ip6_flat output plus \0.
#include <ip6.h>
char buf[IP6_FMT]; char ip[16]; buf[fmt_ip6_flat(buf,ip)]=0;