.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "doc::unibi_dump 3" .TH doc::unibi_dump 3 2024-03-20 unibilium-2.1.1 unibilium .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME unibi_dump \- convert a terminal object to compiled terminfo data .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& size_t unibi_dump(const unibi_term *ut, char *p, size_t n); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This function creates a compiled terminfo entry from \fIut\fR. The output is written to \fIp\fR, which must have room for at least \fIn\fR bytes. .PP If all numeric properties in \fIut\fR have values that fit in 15 bits, the traditional ncurses terminfo format is used (starting with the bytes \f(CW\*(C`1A 01\*(C'\fR), otherwise the newer "wide integer" format (starting with the bytes \f(CW\*(C`1E 02\*(C'\fR) is used. .SH "RETURN VALUE" .IX Header "RETURN VALUE" \&\f(CW\*(C`unibi_dump\*(C'\fR returns the number of bytes required to store the terminfo data. If this exceeds \fIn\fR, nothing is written to \fIp\fR. 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 \f(CW\*(C`SIZE_MAX\*(C'\fR. .SH ERRORS .IX Header "ERRORS" .ie n .IP """EINVAL""" 4 .el .IP \f(CWEINVAL\fR 4 .IX Item "EINVAL" \&\fIut\fR can't be converted to terminfo format. .ie n .IP """EFAULT""" 4 .el .IP \f(CWEFAULT\fR 4 .IX Item "EFAULT" The resulting terminfo entry would be longer than \fIn\fR bytes. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBunibilium.h\fR\|(3), \&\fBunibi_destroy\fR\|(3), \&\fBunibi_from_mem\fR\|(3)