xo_create - Man Page

create and destroy libxo output handles

Library

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

Synopsis

#include <libxo/xo.h>

xo_handle_t *
xo_create(unsigned style, unsigned flags);

xo_handle_t *
xo_create_to_file(FILE *fp, unsigned style, unsigned flags);

void
xo_destroy(xo_handle_t *handle);

Description

A libxo handle can be allocated using the xo_create() function.

  Example:
    xo_handle_t *xop = xo_create(XO_STYLE_JSON, XOF_WARN);
    ....
    xo_emit_h(xop, "testing\n");

By default, libxo writes output to standard output. A convenience function is provided for situations when output should be written to a different file.

Use the XOF_CLOSE_FP flag to trigger a call to fclose(3) for the FILE pointer when the handle is destroyed.

The xo_destroy() function releases a handle and any resources it is using. Calling xo_destroy() with a NULL handle will release any resources associated with the default handle.

See Also

xo_emit(3), xo_set_options(3), libxo(3)

History

The libxo library first appeared in FreeBSD 11.0.

Authors

libxo was written by Phil Shafer <phil@freebsd.org>.

Additional Documentation

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

https://juniper.github.io/libxo/1.6.0/html/index.html

libxo lives on github as:

https://github.com/Juniper/libxo

The latest release of libxo is available at:

https://github.com/Juniper/libxo/releases

History

The libxo library was added in FreeBSD 11.0.

Author

Phil Shafer

Referenced By

libxo(3), xo_message(3), xo_open_container(3).

December 4, 2014