EvmItemSet(3) Library Functions Manual EvmItemSet(3)
NAME
EvmItemSet, EvmItemSetVa, EvmItemGet, EvmItemRelease, EvmItemListGet, EvmItemListFree - Create and manipulate event items
LIBRARY
EVM Support Library (libevm.so, libevm.a)
SYNOPSIS
#include <evm/evm.h>
EvmStatus_t EvmItemSet(
EvmEvent_t event,
EvmItemId_t item_id,
EvmItemValue_t item_value);
EvmStatus_t EvmItemSetVa(
EvmEvent_t event,
[EvmItemId_t item_id,
EvmItemValue_t item_value,]
...
EvmITEM_NONE);
EvmStatus_t EvmItemGet(
EvmEvent_t event,
EvmItemId_t item_id,
EvmItemValue_t *item_value);
EvmStatus_t EvmItemRelease(
EvmItemId_t item_id,
EvmItemValue_t item_value);
EvmStatus_t EvmItemListGet(
EvmEvent_t event,
EvmCount_t *item_count,
EvmItemList_t *itemList);
void EvmItemListFree(
EvmItemList_t itemList);
OPERANDS
The event containing the item to be manipulated. The identifier for the event data item to be set, obtained, or released by the called
routine. Possible values for this parameter, and the data contained by the data item are identified in the following list. See the
EvmEvent(5) reference page for a description of the event data items.
Identifier Data Item
EvmITEM_NONE None (Control use)
EvmITEM_NAME Event name
EvmITEM_PRIORITY Priority
EvmITEM_PID Process identifier
EvmITEM_PPID Parent process identifier
EvmITEM_EVENT_ID Event identifier
EvmITEM_TIMESTAMP Time posted
EvmITEM_REPEAT_COUNT Repeat count
EvmITEM_LAST_TIMESTAMP Last timestamp
EvmITEM_I18N_MSG_ID I18N message identifier
EvmITEM_I18N_SET_ID I18N message set identifier
EvmITEM_I18N_CATALOG I18N catalog
EvmITEM_HOST_IP Host IP address
EvmITEM_CLUSTER_IP Cluster IP address
EvmITEM_MEMBERID The node's cluster ID
EvmITEM_HOST_NAME Host name
EvmITEM_CLUSTER_NAME Cluster name
EvmITEM_USER_NAME User name
EvmITEM_FORMAT Event format
EvmITEM_REF Reference
EvmITEM_VAR Variables
EvmITEM_KERNEL_ONLY Kernel distribution Only
EvmITEM_CLUSTER_EVENT Cluster event
It is also possible to supply a separate item_id for each of the supported variable types. In these cases, an extra one or two
parameters (depending on the type) must be supplied in addition to the item_value. See the description below for more information.
The following extended variable item IDs are supported:
Identifier Variable Type Parameters
EvmITEM_VAR_CHAR EvmTYPE_CHAR Name,value
EvmITEM_VAR_INT16 EvmTYPE_INT16 Name,value
EvmITEM_VAR_INT32 EvmTYPE_INT32 Name,value
EvmITEM_VAR_INT64 EvmTYPE_INT64 Name,value
EvmITEM_VAR_UINT8 EvmTYPE_UINT8 Name,value
EvmITEM_VAR_UINT16 EvmTYPE_UINT16 Name,value
EvmITEM_VAR_UINT32 EvmTYPE_UINT32 Name,value
EvmITEM_VAR_UINT64 EvmTYPE_UINT64 Name,value
EvmITEM_VAR_FLOAT EvmTYPE_FLOAT Name,value
EvmITEM_VAR_DOUBLE EvmTYPE_DOUBLE Name,value
EvmITEM_VAR_STRING EvmTYPE_STRING Name,value
EvmITEM_VAR_STRING_I18N EvmTYPE_STRING Name,value,I18N msgid
EvmITEM_VAR_OPAQUE EvmTYPE_OPAQUE Name,value,size
The value to be stored into the item indicated by the associated item_id. For EvmItemGet() this is the location where the value
extracted from the event will be stored. This is the return parameter. It is the number of entries in item_list, exclusive of the
terminating EvmItem_NONE entry.
DESCRIPTION
Routines in this reference page deal with manipulating data in the standard items in an event.
The EvmItemSet() routine sets the value of the event data item specified by item_id to the item_value supplied by the caller.
The EvmItemSetVa() routine sets item values in the event. The list of item_id and item_value parameters is terminated by an instance of
item_id of EvmITEM_NONE.
The inclusion of extended variable item-IDs simplifies programming by allowing you to add variable items to an event without first having
to set up an EvmVarStruct_t structure, or to release it afterwards. If you use these extended item-IDs you must follow each with the name
of the variable, then a value of the appropriate type. In addition, an EvmITEM_VAR_STRING_I18N value must be followed by an I18N message
ID, and an EvmITEM_VAR_OPAQUE value must be followed by a size.
The EvmItemGet() routine returns, in the item_value reference argument, the value of the event data item specified by item_id. The caller
must use EvmItemRelease() to free any space allocated for the item.
The EvmItemRelease() routine releases any storage space that was allocated when the data item named by item_id was retrieved from an event
using EvmItemGet().
The EvmItemListGet() routine returns, in the itemList reference argument, a list of all of the items, which are currently defined for the
event. The last item in the list has an item_id value of EvmITEM_NONE. The number of items in the list, not including the terminating
null identifier, is returned in item_count. The caller is responsible for freeing the memory used by the list by calling EvmItemList-
Free().
The EvmItemListFree() routine frees the memory used by an item list. The itemList parameter is a list of items in an event generated by
EvmItemListGet().
RESTRICTIONS
None
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. A request specified an item or variable name component in an item-
List or a varList that is not part of the event being processed.
ERRORS
None
FILES
None
SEE ALSO
Commands: evmshow(1)
Routines: EvmEventCreate(3), EvmEventDestroy(3), EvmEventFormat(3), EvmEventPost(3)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Common Desktop Environment: Programmer's Guide delim off
EvmItemSet(3)