Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
       library "libxo"

SYNOPSIS
       #include	<libxo/xo.h>

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

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

       int
       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
       similar	to  printf(3)  but  using  a  more  complex format description
       string, as described 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}0,
			 linect, wordct, charct, file);
       Output  can then	be generated in	various	style, using the "--libxo" op-
       tion:

		 % 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
       number of display columns consumed by the output	will be	returned.

SEE ALSO
       xo_open_container(3), xo_open_list(3), xo_format(5), libxo(3)

ADDITIONAL DOCUMENTATION
       FreeBSD	uses libxo version 0.6.1.  Complete documentation can be found
       on github:

	     http://juniper.github.io/libxo/0.6.1/libxo-manual.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

FreeBSD	ports 15.0	       December	4, 2014			      LIBXO(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xo_emit&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help