DOKK / manpages / debian 12 / libowfat-dev / fmt_ip6ifc.3.en
fmt_ip6ifc(3) Library Functions Manual fmt_ip6ifc(3)

fmt_ip6ifc - write a formatted ASCII representation of an IPv6 number

#include <libowfat/ip6.h>

unsigned int fmt_ip6ifc(char *dest,const char ip[16],uint32 scope_id);

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.

#include <libowfat/ip6.h>


char buf[IP6_FMT];
char ip[16];
scope_id sid;
buf[fmt_ip6ifc(buf,ip,sid)]=0;

scan_ip6(3), fmt_ip4(3)