Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
LIBXO(3) FreeBSD Library Functions Manual LIBXO(3)

xo_emit, xo_emit_h, xo_emit_hv
emit formatted output based on format string and arguments

Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)

#include <libxo/xo.h>

xo_emit(const char *fmt, ...);

xo_emit_h(xo_handle_t *xop, const char *fmt, ...);

xo_emit_hv(xo_handle_t *xop, const char *fmt, va_list vap);

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 similar 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.

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" option:
    % wc /etc/motd
          25     165    1140 /etc/motd
    % wc --libxo xml,pretty,warn /etc/motd
    % 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>

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.

xo_open_container(3), xo_open_list(3), xo_format(5), libxo(3)

FreeBSD uses libxo version 0.6.1. Complete documentation can be found on github:

libxo lives on github as:

The latest release of libxo is available at:

The libxo library was added in FreeBSD 11.0.

Phil Shafer
December 4, 2014 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.