EvmEventFormat(3)EvmEventFormat(3)NAME
EvmEventFormat, EvmEventFormatFromTemplate, EvmVarFormat - Format
events for display
SYNOPSIS
#include <evm/evm.h>
EvmStatus_t EvmEventFormat(
char *buffer,
size_t length,
EvmEvent_t event ); EvmStatus_t EvmEventFormatFromTemplate(
char *buffer,
size_t length,
EvmString_t show_template,
EvmEvent_t event ); EvmStatus_t EvmVarFormat(
EvmEvent_t event,
const char *var_name,
char *buffer,
size_t length,
EvmBoolean_t translate );
OPERANDS
A pointer to a character string to receive the formatted event data.
The stored string will be null-terminated, even if truncated, unless
the length operand is zero (0). The maximum length of the output
string. If the formatted event is longer than length, the output is
truncated. The event to be formatted. The primary template for for‐
matting the output. The name of a variable data item contained in the
event whose value is to be formatted. A Boolean value indicating
whether I18N translation should be attempted on the variable value.
Translation will be attempted if this operand is EvmTRUE, the variable
is of type string and includes an I18N message identifier, and the
event contains I18N catalog information.
DESCRIPTION
Information contained in an event must be formatted to present it in
human-readable form. The event poster supplies formatting information
through the event's format data item, and the routines described here
provide the event formatting capability.
The EvmEventFormat() routine combines the supplied event's format data
item with any data items or variables specified in the event's format
item that are available in the event, and returns a formatted version
of the event in buffer.
If the event contains I18N message catalog information, and the catalog
is available in the user's locale, the format string is retrieved from
the message catalog if possible. If no translation is possible the for‐
mat string contained in the event is used.
If the event does not contain format information, a generic display of
the event's name and any variables is produced.
The EvmEventFormatFromTemplate() routine also formats the supplied
event, but uses the supplied show_template string as its primary for‐
matting template. Literal characters in the show_template are trans‐
ferred to the buffer unchanged. Any token of the form
@item_name[%width] or @{item_name[%width]} is replaced by the value of
the corresponding data item from the supplied event, if it is present.
If width is supplied, the value occupies a minimum of width character
positions. The item_name is the name of a standard event data item. The
special string @@ is replaced by the results of applying EvmEventFor‐
mat() to the event.
Refer to evmshow(1) and EvmEvent(5) for more information about format‐
ting events for display.
EvmVarFormat() retrieves a variable called var_name from the supplied
event, and returns a formatted version of its value in buffer. I18N
translation is applied as appropriate if the value of translate is
EvmTRUE.
NOTES
Floating point values are formatted using the printf(3) %.8g format
specifier.
RETURN VALUES
The operation was completed without error. One of the arguments to the
function was invalid. A value in a structure member is invalid. An
operation failed because an attempt to acquire heap memory failed.
ERRORS
None
LIBRARY
EVM Support Library (libevm.so, libevm.a)
FILES
None
SEE ALSO
Commands: evmshow(1)
Routines: EvmEventDump(3), printf(3), setlocale(3)
Files: locale(4), kevm(7)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Programmer's Guide
EvmEventFormat(3)