doc::unibi_format(3) unibilium doc::unibi_format(3) NAME unibi_format, unibi_run - interpret a terminfo format string SYNOPSIS #include <unibilium.h> void unibi_format( unibi_var_t var_dyn[26], unibi_var_t var_static[26], const char *fmt, unibi_var_t param[9], void (*out)(void *, const char *, size_t), void *ctx1, void (*pad)(void *, size_t, int, int), void *ctx2 ); size_t unibi_run(const char *fmt, unibi_var_t param[9], char *p, size_t n); DESCRIPTION "unibi_format" takes a format string fmt and executes it. All output is done by (possibly repeated) calls to out. In the calls to out the first ar- gument is always ctx1, the second argument is a pointer to a chunk of data, and the third argument is a count specifying the size of the chunk in bytes. pad is used when the format string contains "$<...>" padding instructions. In the calls to pad the first argument is always ctx2, the second argument is the delay in tenths of milliseconds, the third argument is a boolean flag indicating whether "*" (proportional delay) was specified in the for- mat string, and the fourth argument is a boolean flag indicating whether "/" (forced padding) was specified in the format string. Thus a format string of "$<5/>" would translate into "pad(ctx2, 50, 0, 1)". You may pass a null pointer for pad; in that case padding instructions are silently skipped. The values of param are used for the format codes %p1 .. %p9; the values of var_dyn and var_static are used for the so-called dynamic/static variables %Pa .. %Pz and %PA .. %PZ, respectively. "unibi_run" is a wrapper around "unibi_format". It passes two arrays (each initialized to 26 zeroes) as var_dyn and var_static. fmt and param are passed on unchanged. It ignores padding and places all normal output in the buffer pointed to by p. n is the size of the buffer; at most n bytes will be written to p. RETURN VALUE "unibi_run" returns the number of bytes that would have been written if the buffer was big enough. Thus the number of valid bytes in p after a call to "unibi_run" is the minimum of n and the return value of "unibi_run". SEE ALSO unibi_var_from_num(3), unibi_var_from_str(3), unibilium.h(3) unibilium-2.1.2 2024-09-13 doc::unibi_format(3)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.FreeBSD.org/cgi/man.cgi?query=unibi_format&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>