xo_message - Man Page

emit messages in multiple output styles

Library

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

Synopsis

#include <libxo/xo.h>

void
xo_message(const char *fmt, ...);

void
xo_message_e(const char *fmt, ...);

void
xo_message_c(int code, const char *fmt, ...);

void
xo_message_hc(xo_handle_t *xop, int code, const char *fmt, ...);

void
xo_message_hcv(xo_handle_t *xop, int code, const char *fmt, va_list vap);

Description

xo_message generates text message which lack any sort of structure. These functions should not be used under normal conditions, since they completely defeat the value of using libxo. They are provided for scenarios when the output's content is genuinely unknown and unusable. It is used in converting programs where err/warn where not used, and error messages went to stdout, not stderr. Use of xo_message allows backwards compatibility with that output, but does not put the error in a useful form.

The xo_message function generates output strings using the printf-style format string and arguments provided. If the format string does not end in a newline, xo_message_e will appear a colon, a space, and the error associated with the current errno value. xo_message_c behaves similarly for the value passed in the code parameter. xo_message_hc accepts a handle as opened by xo_create(3) and xo_message_hcv accepts a va_list parameter of arguments.

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

Info

December 4, 2014