From dbee4ad2b18e02c7c1efe919b37a0e6b39cab43c Mon Sep 17 00:00:00 2001 From: phil Date: Tue, 12 Apr 2016 23:03:37 +0000 Subject: Tag libxo 0.4.6 --- 0.4.6/libxo/xo_parse_args.3 | 148 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 0.4.6/libxo/xo_parse_args.3 (limited to '0.4.6/libxo/xo_parse_args.3') diff --git a/0.4.6/libxo/xo_parse_args.3 b/0.4.6/libxo/xo_parse_args.3 new file mode 100644 index 0000000..80dceca --- /dev/null +++ b/0.4.6/libxo/xo_parse_args.3 @@ -0,0 +1,148 @@ +.\" # +.\" # Copyright (c) 2014, Juniper Networks, Inc. +.\" # All rights reserved. +.\" # This SOFTWARE is licensed under the LICENSE provided in the +.\" # ../Copyright file. By downloading, installing, copying, or +.\" # using the SOFTWARE, you agree to be bound by the terms of that +.\" # LICENSE. +.\" # Phil Shafer, July 2014 +.\" +.Dd December 4, 2014 +.Dt LIBXO 3 +.Os +.Sh NAME +.Nm xo_parse_args , xo_set_program +.Nd detect, parse, and remove arguments for libxo +.Sh LIBRARY +.Lb libxo +.Sh SYNOPSIS +.In libxo/xo.h +.Ft int +.Fn xo_parse_args "int argc" "char **argv" +.Ft int +.Fn xo_set_program "const char *name" +.Sh DESCRIPTION +The +.Fn xo_parse_args +function is used to process command-line arguments. +.Nm 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. +.Bd -literal -offset indent + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(EXIT_FAILURE); +.Ed +.Pp +Following the call to +.Fn xo_parse_args , +the application can process the remaining arguments in a normal manner. +.Pp +.Nm libxo +uses command line options to trigger rendering behavior. +The following options are recognised: +.Pp +.Bl -tag -width "--libxo" +.It +\-\^\-libxo +.It +\-\^\-libxo= +.It +\-\^\-libxo: +.El +.Pp +Options is a comma-separated list of tokens that correspond to output +styles, flags, or features: +.Pp +.Bl -tag -width "12345678" +.It Sy "Token Action" +.It Dv dtrt +Enable "Do The Right Thing" mode +.It Dv html +Emit HTML output +.It Dv indent=xx +Set the indentation level +.It Dv info +Add info attributes (HTML) +.It Dv json +Emit JSON output +.It Dv keys +Emit the key attribute for keys (XML) +.It Dv log-gettext +Log (via stderr) each +.Xr gettext 3 +string lookup +.It Dv log-syslog +Log (via stderr) each syslog message (via +.Xr xo_syslog 3 ) +.If Dv no-humanize +Ignore the {h:} modifier (TEXT, HTML) +.It Dv no-locale +Do not initialize the locale setting +.It Dv no-top +Do not emit a top set of braces (JSON) +.It Dv not-first +Pretend the 1st output item was not 1st (JSON) +.It Dv pretty +Emit pretty-printed output +.It Dv text +Emit TEXT output +.If Dv underscores +Replace XML-friendly "-"s with JSON friendly "_"s e +.It Dv units +Add the 'units' (XML) or 'data-units (HTML) attribute +.It Dv warn +Emit warnings when libxo detects bad calls +.It Dv warn-xml +Emit warnings in XML +.It Dv xml +Emit XML output +.It Dv xpath +Add XPath expressions (HTML) +.El +.Pp +The +.Dq brief-options +are single letter commands, designed for those with +too little patience to use real tokens. +No comma separator is used. +.Bl -column "i" +.It Sy "Token Action" +.It "H " "Enable HTML output (XO_STYLE_HTML)" +.It "I " "Enable info output (XOF_INFO)" +.It "i " "Indent by " +.It "J " "Enable JSON output (XO_STYLE_JSON)" +.It "P " "Enable pretty-printed output (XOF_PRETTY)" +.It "T " "Enable text output (XO_STYLE_TEXT)" +.It "W " "Enable warnings (XOF_WARN)" +.It "X " "Enable XML output (XO_STYLE_XML)" +.It "x " "Enable XPath data (XOF_XPATH)" +.El +.Pp +The +.Fn xo_set_program +function sets name of the program as reported by +functions like +.Fn xo_failure , +.Fn xo_warn , +.Fn xo_err , +etc. +The program name is initialized by +.Fn xo_parse_args , +but subsequent calls to +.Fn xo_set_program +can override this value. +.Pp +Note that the value is not copied, so the memory passed to +.Fn xo_set_program +(and +.Fn xo_parse_args ) +must be maintained by the caller. +.Pp +.Sh SEE ALSO +.Xr xo_emit 3 , +.Xr libxo 3 -- cgit v1.1