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

# fmt\_ip6\_flat(3)

write a formatted ASCII representation of an IPv6 number

## NAME

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

## SYNTAX

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

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

## DESCRIPTION

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.

## EXAMPLE

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

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

## SEE ALSO

[scan\_ip6\_flat(3)](/scan_ip6_flat/3.md), [fmt\_ip6(3)](/fmt_ip6/3.md)
