xo_set_writer - Man Page

set custom writer functions for a libxo handle

Library

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

Synopsis

#include <libxo/xo.h>

void typedef xo_ssize_t (*xo_write_func_t)(void *, const char *);

typedef void (*xo_close_func_t)(void *);

typedef int (*xo_flush_func_t)(void *);
xo_set_writer(xo_handle_t *handle, void *opaque);
"xo_write_func_t write_func"
"xo_close_func_t close_func"
"xo_flush_func_t flush_func"

Description

The xo_set_writer() function allows custom “write” functions which can tailor how libxo writes data. An opaque argument is recorded and passed back to the write_func function, allowing the function to acquire context information. The close_func function can release this opaque data and any other resources as needed. The flush_func function should flush any pending data associated with the opaque pointer.

See Also

xo_emit(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_set_flags(3).

December 4, 2014