---
name: "fmt_ip6"
section: "3"
platform: "linux"
package: "libowfat-dev"
version: "0.32-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fmt_ip6"
---

# fmt\_ip6(3)

write a formatted ASCII representation of an IPv6 number

## NAME

fmt\_ip6 - write a formatted ASCII representation of an IPv6 number

## SYNTAX

**#include \<libowfat/ip6.h\>**

unsigned int **fmt\_ip6**(char \**dest*,const char *ip*\[16\]);

## DESCRIPTION

fmt\_ip6 formats an IPv6 number in ASCII representation from *ip* and writes the result into *dest*. It returns the number of bytes written.

fmt\_ip6 will apply "::" compression to the output.

If *ip* is an IPv4-mapped IPv6 address, fmt\_ip6 will output the last 4 bytes as IPv4 number in dotted-decimal notation.

If *dest* 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.

## EXAMPLE

\#include \<libowfat/ip6.h\>

  char buf\[IP6\_FMT\];\
   char ip\[16\];\
   buf\[fmt\_ip6(buf,ip)\]=0;

## SEE ALSO

[fmt\_ip6c(3)](/fmt_ip6c/3.md), [fmt\_ip6if(3)](/fmt_ip6if/3.md), [scan\_ip6(3)](/scan_ip6/3.md), [fmt\_ip4(3)](/fmt_ip4/3.md), [inet\_ntop(3)](/inet_ntop/3.md)
