tail head cat sleep
QR code linking to this page

Manual Pages  — LIBXO

NAME

xo_emit – emit formatted output based on format string and arguments

CONTENTS

LIBRARY

libxo

SYNOPSIS

#include <libxo/xo.h>

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

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

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

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" option:
    % 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 <Mt phil@freebsd.org>.


LIBXO (3) December 4, 2014

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Not only is UNIX dead, it's starting to smell really bad.
— Rob Pike