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

FreeBSD Manual Pages

  
 
  

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

NAME
     xo_attr, xo_attr_h, xo_attr_hv -- Add attribute name/value	pairs to for-
     matted output

LIBRARY
     library "libxo"

SYNOPSIS
     #include <libxo/xo.h>

     int
     xo_attr(const char	*name, const char *fmt,	...);

     int
     xo_attr_h(xo_handle_t *handle, const char *name, const char *fmt, ...);

     int
     xo_attr_hv(xo_handle_t *handle, const char	*name, const char *fmt,
	 va_list vap);

DESCRIPTION
     The xo_attr() function emits attributes for the XML output	style.	The
     attribute value is	recorded in the	handle and is attached to the next
     field that	is emitted via a xo_emit(3) call.

     The name parameter	give the name of the attribute to be encoded.  The fmt
     parameter gives a printf-style format string used to format the value of
     the attribute using any remaining arguments, or the vap parameter as
     passed to xo_attr_hv().

	       EXAMPLE:
		 xo_attr("seconds", "%ld", (unsigned long) login_time);
		 struct	tm *tmp	= localtime(login_time);
		 strftime(buf, sizeof(buf), "%R", tmp);
		 xo_emit("Logged in at {:login-time}\n", buf);
	       XML:
		   <login-time seconds="1408336270">00:14</login-time>

     Since attributes are only emitted in XML, their use should	be limited to
     meta-data and additional or redundant representations of data already
     emitted in	other form.

SEE ALSO
     xo_emit(3), libxo(3)

HISTORY
     The libxo library first appeared in FreeBSD 11.0.

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

FreeBSD	13.0			March 26, 2023			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY | AUTHORS

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

home | help