Provided by: libcmap-dev_3.1.6-2ubuntu1_amd64 bug


       cmap_set - Store value in CMAP


       #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);


       The cmap_set function is used to store key inside cmap. The handle argument is  connection
       to CMAP database obtained by calling cmap_initialize(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 integer

       CMAP_VALUETYPE_UINT8 - 8-bit unsigned integer

       CMAP_VALUETYPE_INT16 - 16-bit signed integer

       CMAP_VALUETYPE_UINT16 - 16-bit unsigned integer

       CMAP_VALUETYPE_INT32 - 32-bit signed integer

       CMAP_VALUETYPE_UINT32 - 32-bit unsigned integer

       CMAP_VALUETYPE_INT64 - 64-bit signed integer

       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


       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 setting such key will result in CS_ERR_ACCESS error.


       cmap_get(3), cmap_initialize(3), cmap_overview(3)

       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 interrupted by a signal

       CS_ERR_NOT_SUPPORTED The requested protocol/functionality not supported

       CS_ERR_MESSAGE_ERROR Incorrect auth message received

       CS_ERR_NO_MEMORY Not enough memory to complete the requested task