fmt_ip6ifc formats an IPv6 number in ASCII representation from ip and writes the result into dest. It
returns the number of bytes written.
fmt_ip6ifc will apply "::" compression to the output.
If ip is an IPv4-mapped IPv6 address, fmt_ip6ifc will output it as IPv4 address.
If dest equals FMT_LEN (i.e. is zero), fmt_ip6ifc returns the number of bytes it would have written.
fmt_ip6 does not append \0.
ip6.h defines the integer IP6_FMT to be big enough to contain every possible fmt_ip6 output plus \0.
However, for fmt_ip6ifc you need to add 1 for the '%' and IF_NAMESIZE from <net/if.h> for the interface
name.