EvmItemSet(3) — Subroutines
NAME
EvmItemSet, EvmItemSetVa, EvmItemGet, EvmItemRelease, EvmItemListGet, EvmItemListFree − Create and manipulate event items
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
event
The event containing the item to be manipulated.
item_id
The identifier for the event data item to be set, obtained, or released by the called routine. Possible values for this operand, 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 operands (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 |
item_value
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.
item_count
This is the return operand. 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 operands 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 EvmItemListFree().
The EvmItemListFree() routine frees the memory used by an item list. The itemList operand is a list of items in an event generated by EvmItemListGet().
RESTRICTIONS
None
RETURN VALUES
EvmERROR_NONE
The operation was completed without error.
EvmERROR_INVALID_ARGUMENT
One of the arguments to the function was invalid.
EvmERROR_INVALID_VALUE
A value in a structure member is invalid.
EvmERROR_NO_MEMORY
An operation failed because an attempt to acquire heap memory failed.
EvmERROR_NOT_PRESENT
A request specified an item or variable name component in an itemList or a varList that is not part of the event being processed.
ERRORS
None
LIBRARY
EVM Support Library (libevm.so, libevm.a)
FILES
None
SEE ALSO
Commands: evmshow(1)
Routines: EvmEventCreate(3), EvmEventDestroy(3), EvmEventFormat(3), EvmEventPost(3)
Files: kevm(7)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Programmer’s Guide