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

FreeBSD Manual Pages

  
 
  

home | help
LIBXO(3)		 BSD 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>

     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 sim-
     ilar 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)

HISTORY
     The libxo library first appeared in FreeBSD 11.0.

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

BSD			       December	4, 2014				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | RETURN CODE | SEE ALSO | HISTORY | AUTHORS

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

home | help