man.bsd.lv manual page server

Manual Page Search Parameters
LIBXO(3) Library Functions Manual LIBXO(3)

xo_parse_args, xo_set_programdetect, parse, and remove arguments for libxo

library “libxo”

#include <libxo/xo.h>

int
xo_parse_args(int argc, char **argv);

int
xo_set_program(const char *name);

The () function is used to process command-line arguments. libxo specific options are processed and removed from the argument list so the calling application does not need to process them. If successful, a new value for argc is returned. On failure, a message it emitted and -1 is returned.
    argc = xo_parse_args(argc, argv);
    if (argc < 0)
        exit(EXIT_FAILURE);

Following the call to (), the application can process the remaining arguments in a normal manner.

libxo uses command line options to trigger rendering behavior. The following options are recognised:

--libxo <options>
--libxo=<options>
--libxo:<brief-options>

Options is a comma-separated list of tokens that correspond to output styles, flags, or features:

 
Enable "Do The Right Thing" mode
Emit HTML output
Set the indentation level
Add info attributes (HTML)
Emit JSON output
Emit the key attribute for keys (XML)
Log (via stderr) each gettext(3) string lookup
Log (via stderr) each syslog message (via xo_syslog(3)) Ignore the {h:} modifier (TEXT, HTML)
Do not initialize the locale setting
Prevent retaining formatting information
Do not emit a top set of braces (JSON)
Pretend the 1st output item was not 1st (JSON)
Emit pretty-printed output
Force retaining formatting information
Emit TEXT output Replace XML-friendly "-"s with JSON friendly "_"s e
Add the 'units' (XML) or 'data-units (HTML) attribute
Emit warnings when libxo detects bad calls
Emit warnings in XML
Emit XML output
Add XPath expressions (HTML)

The “brief-options” are single letter commands, designed for those with too little patience to use real tokens. No comma separator is used.

H Enable HTML output (XO_STYLE_HTML)
I Enable info output (XOF_INFO)
i<num> Indent by <number>
J Enable JSON output (XO_STYLE_JSON)
P Enable pretty-printed output (XOF_PRETTY)
T Enable text output (XO_STYLE_TEXT)
W Enable warnings (XOF_WARN)
X Enable XML output (XO_STYLE_XML)
x Enable XPath data (XOF_XPATH)

The () function sets name of the program as reported by functions like (), (), (), etc. The program name is initialized by xo_parse_args(), but subsequent calls to xo_set_program() can override this value.

Note that the value is not copied, so the memory passed to () (and xo_parse_args()) must be maintained by the caller.

xo_emit(3), libxo(3)

The libxo library first appeared in FreeBSD 11.0.

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

December 4, 2014 FreeBSD-12.0