home | help
LIBXO(3)		     Library Functions Manual			LIBXO(3)

NAME
     xo_emit,  xo_emit_h,  xo_emit_hv  --  emit formatted output based on format
     string and arguments

LIBRARY
     libxo

SYNOPSIS
     #include <libxo/xo.h>

     xo_ssize_t
     xo_emit(const char *fmt, ...);

     xo_ssize_t
     xo_emit_h(xo_handle_t *xop, const char *fmt, ...);

     xo_ssize_t
     xo_emit_hv(xo_handle_t *xop, const char *fmt, va_list vap);

DESCRIPTION
     The xo_emit() function emits formatted output using the  description  in  a
     format  string along with a set of zero or more arguments, in a style simi-
     lar to printf(3) but using a more complex format description string, as de-
     scribed in xo_format(5).

     xo_emit() uses the default output handle, as described in	libxo(3),  where
     xo_emit_h()  uses	an  explicit handle.  xo_emit_hv() accepts a va_list for
     additional flexibility.

EXAMPLES
     In this example, a set of four values is emitted using the following source
     code:

	       xo_emit(" {:lines/%7ju} {:words/%7ju} "
		       "{:characters/%7ju} {d:filename/%s}\n",
		       linect, wordct, charct, file);
     Output can then be generated in various style, using the "--libxo" option:

	       % wc /etc/motd
		     25     165    1140 /etc/motd
	       % wc --libxo xml,pretty,warn /etc/motd
	       <wc>
		 <file>
		   <lines>25</lines>
		   <words>165</words>
		   <characters>1140</characters>
		   <filename>/etc/motd</filename>
		 </file>
	       </wc>
	       % wc --libxo json,pretty,warn /etc/motd
	       {
		 "wc": {
		   "file": [
		     {
		       "lines": 25,
		       "words": 165,
		       "characters": 1140,
		       "filename": "/etc/motd"
		     }
		   ]
		 }
	       }
	       % wc --libxo html,pretty,warn /etc/motd
	       <div class="line">
		 <div class="text"> </div>
		 <div class="data" data-tag="lines">	 25</div>
		 <div class="text"> </div>
		 <div class="data" data-tag="words">	165</div>
		 <div class="text"> </div>
		 <div class="data" data-tag="characters">   1140</div>
		 <div class="text"> </div>
		 <div class="data" data-tag="filename">/etc/motd</div>
	       </div>

RETURN CODE
     xo_emit returns a negative value on error.  If  the  XOF_COLUMNS  flag  has
     been turned on for the specific handle using xo_set_flags(3), then the num-
     ber of display columns consumed by the output will be returned.

SEE ALSO

home | help