---
name: "unibi_dump"
section: "3"
platform: "linux"
package: "unibilium"
version: "2.1.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/unibi_dump"
---

# unibi\_dump(3)

convert a terminal object to compiled terminfo data

## NAME

unibi\_dump - convert a terminal object to compiled terminfo data

## SYNOPSIS

```
 #include <unibilium.h>

 size_t unibi_dump(const unibi_term *ut, char *p, size_t n);
```

## DESCRIPTION

This function creates a compiled terminfo entry from *ut*. The output is written to *p*, which must have room for at least *n* bytes.

If all numeric properties in *ut* have values that fit in 15 bits, the traditional ncurses terminfo format is used (starting with the bytes `"1A 01"`), otherwise the newer "wide integer" format (starting with the bytes `"1E 02"`) is used.

## RETURN VALUE

`"unibi_dump"` returns the number of bytes required to store the terminfo data. If this exceeds *n*, nothing is written to *p*. If the terminal object can't be represented in terminfo format (e.g. because the string table would be too large), the return value is `"SIZE_MAX"`.

## ERRORS

- "EINVAL"

  *ut* can't be converted to terminfo format.

- "EFAULT"

  The resulting terminfo entry would be longer than *n* bytes.

## SEE ALSO

[**unibilium.h**(3)](/unibilium.h/3.md), [**unibi\_destroy**(3)](/unibi_destroy/3.md), [**unibi\_from\_mem**(3)](/unibi_from_mem/3.md)
