CMAP_ITER_NEXT(3) Corosync Cluster Engine Programmer's Manual CMAP_ITER_NEXT(3)NAME
cmap_iter_next - Return next item in iteration in CMAP
SYNOPSIS
#include <corosync/cmap.h>
cs_error_t cmap_iter_next(cmap_handle_t handle, cmap_iter_handle_t iter_handle, char key_name[], size_t *value_len, cmap_value_types_t
*type);
DESCRIPTION
The cmap_iter_next function is used to get next value in iteration. The handle argument is connection to CMAP database obtained by calling
cmap_initialize(3) function. iter_handle argument is iterator handle obtained by cmap_iter_init(3) function. Following key name is stored
inside key_name argument, which must be preallocated by caller and its quaranted maximum size is CMAP_KEYNAME_MAXLEN (urrently 255).
value_len is pointer where length of value is stored, but can be NULL. type is also optional argument (can be NULL) and here type of value
is stored (type is one of types described in cmap_get(3) function).
RETURN VALUE
This call returns the CS_OK value if successful. If there are no more items to iterate, CS_NO_SECTION error code is returned.
SEE ALSO cmap_iter_init(3), cmap_iter_finalize(3), cmap_initialize(3), cmap_get(3), cmap_overview(8)
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call inturrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to completed the requested task
corosync Man Page 06/02/2012 CMAP_ITER_NEXT(3)
Check Out this Related Man Page
CMAP_SET(3) Corosync Cluster Engine Programmer's Manual CMAP_SET(3)NAME
cmap_set - Store value in CMAP
SYNOPSIS
#include <corosync/cmap.h>
cs_error_t cmap_set (cmap_handle_t handle, const char *key_name, const void *value, size_t value_len, cmap_value_types_t type);
Also shortcuts for different types are defined
cs_error_t cmap_set_int8(cmap_handle_t handle, const char *key_name, int8_t value);
cs_error_t cmap_set_uint8(cmap_handle_t handle, const char *key_name, uint8_t value);
cs_error_t cmap_set_int16(cmap_handle_t handle, const char *key_name, int16_t value);
cs_error_t cmap_set_uint16(cmap_handle_t handle, const char *key_name, uint16_t value);
cs_error_t cmap_set_int32(cmap_handle_t handle, const char *key_name, int32_t value);
cs_error_t cmap_set_uint32(cmap_handle_t handle, const char *key_name, uint32_t value);
cs_error_t cmap_set_int64(cmap_handle_t handle, const char *key_name, int64_t value);
cs_error_t cmap_set_uint64(cmap_handle_t handle, const char *key_name, uint64_t value);
cs_error_t cmap_set_float(cmap_handle_t handle, const char *key_name, float value);
cs_error_t cmap_set_double(cmap_handle_t handle, const char *key_name, double value);
cs_error_t cmap_set_string(cmap_handle_t handle, const char *key_name, const char *value);
DESCRIPTION
The cmap_set function is used to store key inside cmap. The handle argument is connection to CMAP database obtained by calling cmap_ini-
tialize(3) function. key_name is name of key to set value. Key name is limited by minimal (CMAP_KEYNAME_MINLEN, currently 3) and maximal
(CMAP_KEYNAME_MAXLEN, currently 255) length. Also key can contain only limited set of characters expressed by regexp [a-zA-Z0-9._-/:]*.
value is pointer to allocated data which will be stored inside CMAP. Length of value (number of bytes) is supplied as value_len parameter.
Last parameter is type which gives type of value. It may be one of:
CMAP_VALUETYPE_INT8 - 8-bit signed interger
CMAP_VALUETYPE_UINT8 - 8-bit unsigned integer
CMAP_VALUETYPE_INT16 - 16-bit signed interger
CMAP_VALUETYPE_UINT16 - 16-bit unsigned integer
CMAP_VALUETYPE_INT32 - 32-bit signed interger
CMAP_VALUETYPE_UINT32 - 32-bit unsigned integer
CMAP_VALUETYPE_INT64 - 64-bit signed interger
CMAP_VALUETYPE_UINT64 - 64-bit unsigned integer
CMAP_VALUETYPE_FLOAT - Float value
CMAP_VALUETYPE_DOUBLE - Double value
CMAP_VALUETYPE_STRING - C-style string
CMAP_VALUETYPE_BINARY - Binary data, byte with zero value has no special meaning
RETURN VALUE
This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM is returned. Too short or too
long key_name returns CS_ERR_NAME_TOO_LONG error code. Some of keys may be tagged read-only directly in corosync and seting such key will
result in CS_ERR_ACCESS error.
SEE ALSO cmap_get(3), cmap_initialize(3), cmap_overview(8)
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call inturrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to completed the requested task
corosync Man Page 23/01/2012 CMAP_SET(3)