FreeBSD Manual Pages
LIBXO(3) BSD Library Functions Manual LIBXO(3) NAME xo_emit, xo_emit_h, xo_emit_hv -- emit formatted output based on format string and arguments LIBRARY library "libxo" SYNOPSIS #include <libxo/xo.h> xo_ssize_t xo_emit(const char *fmt, ...); xo_ssize_t xo_emit_h(xo_handle_t *xop, const char *fmt, ...); xo_ssize_t xo_emit_hv(xo_handle_t *xop, const char *fmt, va_list vap); DESCRIPTION The xo_emit() function emits formatted output using the description in a format string along with a set of zero or more arguments, in a style sim- ilar to printf(3) but using a more complex format description string, as described in xo_format(5). xo_emit() uses the default output handle, as described in libxo(3), where xo_emit_h() uses an explicit handle. xo_emit_hv() accepts a va_list for additional flexibility. EXAMPLES In this example, a set of four values is emitted using the following source code: xo_emit(" {:lines/%7ju} {:words/%7ju} " "{:characters/%7ju} {d:filename/%s}0, linect, wordct, charct, file); Output can then be generated in various style, using the "--libxo" op- tion: % wc /etc/motd 25 165 1140 /etc/motd % wc --libxo xml,pretty,warn /etc/motd <wc> <file> <lines>25</lines> <words>165</words> <characters>1140</characters> <filename>/etc/motd</filename> </file> </wc> % wc --libxo json,pretty,warn /etc/motd { "wc": { "file": [ { "lines": 25, "words": 165, "characters": 1140, "filename": "/etc/motd" } ] } } % wc --libxo html,pretty,warn /etc/motd <div class="line"> <div class="text"> </div> <div class="data" data-tag="lines"> 25</div> <div class="text"> </div> <div class="data" data-tag="words"> 165</div> <div class="text"> </div> <div class="data" data-tag="characters"> 1140</div> <div class="text"> </div> <div class="data" data-tag="filename">/etc/motd</div> </div> RETURN CODE xo_emit returns a negative value on error. If the XOF_COLUMNS flag has been turned on for the specific handle using xo_set_flags(3), then the number of display columns consumed by the output will be returned. SEE ALSO xo_open_container(3), xo_open_list(3), xo_format(5), libxo(3) HISTORY The libxo library first appeared in FreeBSD 11.0. AUTHORS libxo was written by Phil Shafer <phil@freebsd.org>. BSD December 4, 2014 BSD
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | RETURN CODE | SEE ALSO | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xo_emit&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>