icmap.h
Go to the documentation of this file.
/*
* Copyright (c) 2011-2017 Red Hat, Inc.
*
* Author: Jan Friesse (jfriesse@redhat.com)
*
* All rights reserved.
*
* This software licensed under BSD license, the text of which follows:
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* - Neither the name of the Red Hat, Inc. nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef ICMAP_H_DEFINED
#define ICMAP_H_DEFINED
#include <stdlib.h>
#include <corosync/corotypes.h>
#include <qb/qbmap.h>
#ifdef __cplusplus
extern "C" {
#endif
#define ICMAP_KEYNAME_MAXLEN 255
#define ICMAP_KEYNAME_MINLEN 3
typedef enum {
ICMAP_VALUETYPE_INT8 = 1,
ICMAP_VALUETYPE_UINT8 = 2,
ICMAP_VALUETYPE_INT16 = 3,
ICMAP_VALUETYPE_UINT16 = 4,
ICMAP_VALUETYPE_INT32 = 5,
ICMAP_VALUETYPE_UINT32 = 6,
ICMAP_VALUETYPE_INT64 = 7,
ICMAP_VALUETYPE_UINT64 = 8,
ICMAP_VALUETYPE_FLOAT = 9,
ICMAP_VALUETYPE_DOUBLE = 10,
ICMAP_VALUETYPE_STRING = 11,
ICMAP_VALUETYPE_BINARY = 12,
} icmap_value_types_t;
/*
* Tracking values.
*/
#define ICMAP_TRACK_ADD 4
#define ICMAP_TRACK_DELETE 1
#define ICMAP_TRACK_MODIFY 2
#define ICMAP_TRACK_PREFIX 8
struct icmap_notify_value {
icmap_value_types_t type;
size_t len;
const void *data;
};
typedef void (*icmap_notify_fn_t) (
int32_t event,
const char *key_name,
struct icmap_notify_value new_value,
struct icmap_notify_value old_value,
void *user_data);
typedef struct icmap_map *icmap_map_t;
typedef qb_map_iter_t *icmap_iter_t;
typedef struct icmap_track *icmap_track_t;
extern cs_error_t icmap_init(void);
extern cs_error_t icmap_init_r(icmap_map_t *result);
extern void icmap_fini(void);
extern void icmap_fini_r(const icmap_map_t map);
extern icmap_map_t icmap_get_global_map(void);
extern int icmap_key_value_eq(
const icmap_map_t map1,
const char *key_name1,
const icmap_map_t map2,
const char *key_name2);
extern cs_error_t icmap_set(
const char *key_name,
const void *value,
size_t value_len,
icmap_value_types_t type);
extern cs_error_t icmap_set_r(
const icmap_map_t map,
const char *key_name,
const void *value,
size_t value_len,
icmap_value_types_t type);
/*
* Shortcuts for setting values
*/
extern cs_error_t icmap_set_int8(const char *key_name, int8_t value);
extern cs_error_t icmap_set_uint8(const char *key_name, uint8_t value);
extern cs_error_t icmap_set_int16(const char *key_name, int16_t value);
extern cs_error_t icmap_set_uint16(const char *key_name, uint16_t value);
extern cs_error_t icmap_set_int32(const char *key_name, int32_t value);
extern cs_error_t icmap_set_uint32(const char *key_name, uint32_t value);
extern cs_error_t icmap_set_int64(const char *key_name, int64_t value);
extern cs_error_t icmap_set_uint64(const char *key_name, uint64_t value);
extern cs_error_t icmap_set_float(const char *key_name, float value);
extern cs_error_t icmap_set_double(const char *key_name, double value);
extern cs_error_t icmap_set_string(const char *key_name, const char *value);
extern cs_error_t icmap_set_int8_r(const icmap_map_t map, const char *key_name, int8_t value);
extern cs_error_t icmap_set_uint8_r(const icmap_map_t map, const char *key_name, uint8_t value);
extern cs_error_t icmap_set_int16_r(const icmap_map_t map, const char *key_name, int16_t value);
extern cs_error_t icmap_set_uint16_r(const icmap_map_t map, const char *key_name, uint16_t value);
extern cs_error_t icmap_set_int32_r(const icmap_map_t map, const char *key_name, int32_t value);
extern cs_error_t icmap_set_uint32_r(const icmap_map_t map, const char *key_name, uint32_t value);
extern cs_error_t icmap_set_int64_r(const icmap_map_t map, const char *key_name, int64_t value);
extern cs_error_t icmap_set_uint64_r(const icmap_map_t map, const char *key_name, uint64_t value);
extern cs_error_t icmap_set_float_r(const icmap_map_t map, const char *key_name, float value);
extern cs_error_t icmap_set_double_r(const icmap_map_t map, const char *key_name, double value);
extern cs_error_t icmap_set_string_r(const icmap_map_t map, const char *key_name, const char *value);
extern cs_error_t icmap_delete(const char *key_name);
extern cs_error_t icmap_delete_r(const icmap_map_t map, const char *key_name);
extern cs_error_t icmap_get(
const char *key_name,
void *value,
size_t *value_len,
icmap_value_types_t *type);
extern cs_error_t icmap_get_r(
const icmap_map_t map,
const char *key_name,
void *value,
size_t *value_len,
icmap_value_types_t *type);
/*
* Shortcuts for icmap_get
*/
extern cs_error_t icmap_get_int8(const char *key_name, int8_t *i8);
extern cs_error_t icmap_get_uint8(const char *key_name, uint8_t *u8);
extern cs_error_t icmap_get_int16(const char *key_name, int16_t *i16);
extern cs_error_t icmap_get_uint16(const char *key_name, uint16_t *u16);
extern cs_error_t icmap_get_int32(const char *key_name, int32_t *i32);
extern cs_error_t icmap_get_uint32(const char *key_name, uint32_t *u32);
extern cs_error_t icmap_get_int64(const char *key_name, int64_t *i64);
extern cs_error_t icmap_get_uint64(const char *key_name, uint64_t *u64);
extern cs_error_t icmap_get_float(const char *key_name, float *flt);
extern cs_error_t icmap_get_double(const char *key_name, double *dbl);
/*
* Shortcuts for icmap_get_r
*/
extern cs_error_t icmap_get_int8_r(const icmap_map_t map, const char *key_name, int8_t *i8);
extern cs_error_t icmap_get_uint8_r(const icmap_map_t map, const char *key_name, uint8_t *u8);
extern cs_error_t icmap_get_int16_r(const icmap_map_t map, const char *key_name, int16_t *i16);
extern cs_error_t icmap_get_uint16_r(const icmap_map_t map, const char *key_name, uint16_t *u16);
extern cs_error_t icmap_get_int32_r(const icmap_map_t map, const char *key_name, int32_t *i32);
extern cs_error_t icmap_get_uint32_r(const icmap_map_t map, const char *key_name, uint32_t *u32);
extern cs_error_t icmap_get_int64_r(const icmap_map_t map, const char *key_name, int64_t *i64);
extern cs_error_t icmap_get_uint64_r(const icmap_map_t map, const char *key_name, uint64_t *u64);
extern cs_error_t icmap_get_float_r(const icmap_map_t map, const char *key_name, float *flt);
extern cs_error_t icmap_get_double_r(const icmap_map_t map, const char *key_name, double *dbl);
extern cs_error_t icmap_get_string_r(const icmap_map_t map, const char *key_name, char **str);
extern cs_error_t icmap_get_string(const char *key_name, char **str);
extern cs_error_t icmap_adjust_int(const char *key_name, int32_t step);
extern cs_error_t icmap_adjust_int_r(const icmap_map_t map, const char *key_name, int32_t step);
extern cs_error_t icmap_fast_adjust_int(const char *key_name, int32_t step);
extern cs_error_t icmap_fast_adjust_int_r(const icmap_map_t map, const char *key_name, int32_t step);
extern cs_error_t icmap_inc(const char *key_name);
extern cs_error_t icmap_inc_r(const icmap_map_t map, const char *key_name);
extern cs_error_t icmap_dec(const char *key_name);
extern cs_error_t icmap_dec_r(const icmap_map_t map, const char *key_name);
extern cs_error_t icmap_fast_inc(const char *key_name);
extern cs_error_t icmap_fast_inc_r(const icmap_map_t map, const char *key_name);
extern cs_error_t icmap_fast_dec(const char *key_name);
extern cs_error_t icmap_fast_dec_r(const icmap_map_t map, const char *key_name);
extern icmap_iter_t icmap_iter_init(const char *prefix);
extern icmap_iter_t icmap_iter_init_r(const icmap_map_t map, const char *prefix);
extern const char *icmap_iter_next(icmap_iter_t iter, size_t *value_len, icmap_value_types_t *type);
extern void icmap_iter_finalize(icmap_iter_t iter);
extern cs_error_t icmap_track_add(
const char *key_name,
int32_t track_type,
icmap_notify_fn_t notify_fn,
void *user_data,
icmap_track_t *icmap_track);
extern void *icmap_track_get_user_data(icmap_track_t icmap_track);
extern cs_error_t icmap_track_delete(icmap_track_t icmap_track);
extern cs_error_t icmap_set_ro_access(const char *key_name, int prefix, int ro_access);
extern int icmap_is_key_ro(const char *key_name);
extern void icmap_convert_name_to_valid_name(char *key_name);
extern cs_error_t icmap_copy_map(icmap_map_t dst_map, const icmap_map_t src_map);
/*
* Returns length of value of given type, or 0 for string and binary data type
*/
size_t icmap_get_valuetype_len(icmap_value_types_t type);
/*
* Converts track type of icmap to qb
*/
int32_t icmap_tt_to_qbtt(int32_t track_type);
/*
* Convert track type of qb to icmap
*/
int32_t icmap_qbtt_to_tt(int32_t track_type);
#ifdef __cplusplus
}
#endif
#endif /* ICMAP_H_DEFINED */
nodeid
unsigned int nodeid
Definition coroapi.h:0
corotypes.h
cs_error_t
cs_error_t
The cs_error_t enum.
Definition corotypes.h:98
value
uint32_t value
Definition exec/votequorum.c:2
icmap_tt_to_qbtt
int32_t icmap_tt_to_qbtt(int32_t track_type)
Definition icmap.c:127
icmap_set_int8_r
cs_error_t icmap_set_int8_r(const icmap_map_t map, const char *key_name, int8_t value)
Definition icmap.c:501
icmap_iter_init_r
icmap_iter_t icmap_iter_init_r(const icmap_map_t map, const char *prefix)
icmap_iter_init_r
Definition icmap.c:1088
icmap_get_uint8
cs_error_t icmap_get_uint8(const char *key_name, uint8_t *u8)
Definition icmap.c:872
icmap_get_string_r
cs_error_t icmap_get_string_r(const icmap_map_t map, const char *key_name, char **str)
Definition icmap.c:739
icmap_fast_adjust_int_r
cs_error_t icmap_fast_adjust_int_r(const icmap_map_t map, const char *key_name, int32_t step)
icmap_fast_adjust_int_r
Definition icmap.c:991
icmap_get_uint16
cs_error_t icmap_get_uint16(const char *key_name, uint16_t *u16)
Definition icmap.c:884
icmap_get_float_r
cs_error_t icmap_get_float_r(const icmap_map_t map, const char *key_name, float *flt)
Definition icmap.c:848
icmap_get_uint32
cs_error_t icmap_get_uint32(const char *key_name, uint32_t *u32)
Definition icmap.c:896
icmap_set_int16_r
cs_error_t icmap_set_int16_r(const icmap_map_t map, const char *key_name, int16_t value)
Definition icmap.c:513
icmap_set_uint8
cs_error_t icmap_set_uint8(const char *key_name, uint8_t value)
Definition icmap.c:577
icmap_set_uint16_r
cs_error_t icmap_set_uint16_r(const icmap_map_t map, const char *key_name, uint16_t value)
Definition icmap.c:519
icmap_set
cs_error_t icmap_set(const char *key_name, const void *value, size_t value_len, icmap_value_types_t type)
Store value with value_len length and type as key_name name in global icmap.
Definition icmap.c:491
icmap_adjust_int
cs_error_t icmap_adjust_int(const char *key_name, int32_t step)
icmap_adjust_int
Definition icmap.c:983
icmap_get_int64
cs_error_t icmap_get_int64(const char *key_name, int64_t *i64)
Definition icmap.c:902
icmap_set_ro_access
cs_error_t icmap_set_ro_access(const char *key_name, int prefix, int ro_access)
Set read-only access for given key (key_name) or prefix, If prefix is set.
Definition icmap.c:1229
icmap_set_uint32_r
cs_error_t icmap_set_uint32_r(const icmap_map_t map, const char *key_name, uint32_t value)
Definition icmap.c:531
icmap_delete
cs_error_t icmap_delete(const char *key_name)
Delete key from map.
Definition icmap.c:657
icmap_fast_dec_r
cs_error_t icmap_fast_dec_r(const icmap_map_t map, const char *key_name)
icmap_fast_dec_r
Definition icmap.c:1078
icmap_set_float_r
cs_error_t icmap_set_float_r(const icmap_map_t map, const char *key_name, float value)
Definition icmap.c:549
icmap_map_t
struct icmap_map * icmap_map_t
icmap type.
Definition icmap.h:118
icmap_set_int32
cs_error_t icmap_set_int32(const char *key_name, int32_t value)
Definition icmap.c:595
icmap_delete_r
cs_error_t icmap_delete_r(const icmap_map_t map, const char *key_name)
icmap_delete_r
Definition icmap.c:637
icmap_value_types_t
icmap_value_types_t
Possible types of value.
Definition icmap.h:58
ICMAP_VALUETYPE_UINT64
@ ICMAP_VALUETYPE_UINT64
Definition icmap.h:66
ICMAP_VALUETYPE_BINARY
@ ICMAP_VALUETYPE_BINARY
Definition icmap.h:70
ICMAP_VALUETYPE_UINT8
@ ICMAP_VALUETYPE_UINT8
Definition icmap.h:60
ICMAP_VALUETYPE_INT8
@ ICMAP_VALUETYPE_INT8
Definition icmap.h:59
ICMAP_VALUETYPE_INT16
@ ICMAP_VALUETYPE_INT16
Definition icmap.h:61
ICMAP_VALUETYPE_UINT32
@ ICMAP_VALUETYPE_UINT32
Definition icmap.h:64
ICMAP_VALUETYPE_STRING
@ ICMAP_VALUETYPE_STRING
Definition icmap.h:69
ICMAP_VALUETYPE_FLOAT
@ ICMAP_VALUETYPE_FLOAT
Definition icmap.h:67
ICMAP_VALUETYPE_INT64
@ ICMAP_VALUETYPE_INT64
Definition icmap.h:65
ICMAP_VALUETYPE_DOUBLE
@ ICMAP_VALUETYPE_DOUBLE
Definition icmap.h:68
ICMAP_VALUETYPE_UINT16
@ ICMAP_VALUETYPE_UINT16
Definition icmap.h:62
ICMAP_VALUETYPE_INT32
@ ICMAP_VALUETYPE_INT32
Definition icmap.h:63
icmap_get_uint8_r
cs_error_t icmap_get_uint8_r(const icmap_map_t map, const char *key_name, uint8_t *u8)
Definition icmap.c:806
icmap_set_uint8_r
cs_error_t icmap_set_uint8_r(const icmap_map_t map, const char *key_name, uint8_t value)
Definition icmap.c:507
icmap_set_uint16
cs_error_t icmap_set_uint16(const char *key_name, uint16_t value)
Definition icmap.c:589
icmap_dec_r
cs_error_t icmap_dec_r(const icmap_map_t map, const char *key_name)
icmap_dec_r
Definition icmap.c:1058
icmap_set_int64
cs_error_t icmap_set_int64(const char *key_name, int64_t value)
Definition icmap.c:607
icmap_track_add
cs_error_t icmap_track_add(const char *key_name, int32_t track_type, icmap_notify_fn_t notify_fn, void *user_data, icmap_track_t *icmap_track)
Add tracking function for given key_name.
Definition icmap.c:1163
icmap_set_string
cs_error_t icmap_set_string(const char *key_name, const char *value)
Definition icmap.c:631
icmap_set_r
cs_error_t icmap_set_r(const icmap_map_t map, const char *key_name, const void *value, size_t value_len, icmap_value_types_t type)
Reentrant version of icmap_set.
Definition icmap.c:411
icmap_qbtt_to_tt
int32_t icmap_qbtt_to_tt(int32_t track_type)
Definition icmap.c:150
icmap_inc
cs_error_t icmap_inc(const char *key_name)
Increase stored value by one.
Definition icmap.c:1053
icmap_set_int64_r
cs_error_t icmap_set_int64_r(const icmap_map_t map, const char *key_name, int64_t value)
Definition icmap.c:537
icmap_set_double
cs_error_t icmap_set_double(const char *key_name, double value)
Definition icmap.c:625
icmap_set_int8
cs_error_t icmap_set_int8(const char *key_name, int8_t value)
Definition icmap.c:571
icmap_get_valuetype_len
size_t icmap_get_valuetype_len(icmap_value_types_t type)
Definition icmap.c:310
icmap_key_value_eq
int icmap_key_value_eq(const icmap_map_t map1, const char *key_name1, const icmap_map_t map2, const char *key_name2)
Compare value of key with name key_name1 in map1 with key with name key_name2 in map2.
Definition icmap.c:389
icmap_get_float
cs_error_t icmap_get_float(const char *key_name, float *flt)
Definition icmap.c:914
icmap_get_double
cs_error_t icmap_get_double(const char *key_name, double *dbl)
Definition icmap.c:920
icmap_get_int8_r
cs_error_t icmap_get_int8_r(const icmap_map_t map, const char *key_name, int8_t *i8)
Definition icmap.c:800
icmap_set_uint64_r
cs_error_t icmap_set_uint64_r(const icmap_map_t map, const char *key_name, uint64_t value)
Definition icmap.c:543
icmap_fast_dec
cs_error_t icmap_fast_dec(const char *key_name)
Decrease stored value by one.
Definition icmap.c:1083
icmap_iter_init
icmap_iter_t icmap_iter_init(const char *prefix)
Initialize iterator with given prefix.
Definition icmap.c:1093
icmap_set_double_r
cs_error_t icmap_set_double_r(const icmap_map_t map, const char *key_name, double value)
Definition icmap.c:555
icmap_get_uint16_r
cs_error_t icmap_get_uint16_r(const icmap_map_t map, const char *key_name, uint16_t *u16)
Definition icmap.c:818
icmap_copy_map
cs_error_t icmap_copy_map(icmap_map_t dst_map, const icmap_map_t src_map)
Copy content of src_map icmap to dst_map icmap.
Definition icmap.c:1302
icmap_init_r
cs_error_t icmap_init_r(icmap_map_t *result)
Initialize additional (local, reentrant) icmap_map.
Definition icmap.c:188
icmap_set_int32_r
cs_error_t icmap_set_int32_r(const icmap_map_t map, const char *key_name, int32_t value)
Definition icmap.c:525
icmap_notify_fn_t
void(* icmap_notify_fn_t)(int32_t event, const char *key_name, struct icmap_notify_value new_value, struct icmap_notify_value old_value, void *user_data)
Prototype for notify callback function.
Definition icmap.h:103
icmap_get_int64_r
cs_error_t icmap_get_int64_r(const icmap_map_t map, const char *key_name, int64_t *i64)
Definition icmap.c:836
icmap_convert_name_to_valid_name
void icmap_convert_name_to_valid_name(char *key_name)
Converts given key_name to valid key name (replacing all prohibited characters by _)
Definition icmap.c:282
icmap_fast_adjust_int
cs_error_t icmap_fast_adjust_int(const char *key_name, int32_t step)
icmap_fast_adjust_int
Definition icmap.c:1040
icmap_iter_next
const char * icmap_iter_next(icmap_iter_t iter, size_t *value_len, icmap_value_types_t *type)
Return next item in iterator iter.
Definition icmap.c:1099
icmap_fast_inc
cs_error_t icmap_fast_inc(const char *key_name)
Increase stored value by one.
Definition icmap.c:1073
icmap_inc_r
cs_error_t icmap_inc_r(const icmap_map_t map, const char *key_name)
icmap_inc_r
Definition icmap.c:1048
icmap_get_global_map
icmap_map_t icmap_get_global_map(void)
Return global icmap.
Definition icmap.c:268
icmap_get
cs_error_t icmap_get(const char *key_name, void *value, size_t *value_len, icmap_value_types_t *type)
Retrieve value of key key_name and store it in user preallocated value pointer.
Definition icmap.c:729
icmap_iter_t
qb_map_iter_t * icmap_iter_t
Itterator type.
Definition icmap.h:123
icmap_get_double_r
cs_error_t icmap_get_double_r(const icmap_map_t map, const char *key_name, double *dbl)
Definition icmap.c:854
icmap_set_string_r
cs_error_t icmap_set_string_r(const icmap_map_t map, const char *key_name, const char *value)
Definition icmap.c:561
icmap_iter_finalize
void icmap_iter_finalize(icmap_iter_t iter)
Finalize iterator.
Definition icmap.c:1120
icmap_fini_r
void icmap_fini_r(const icmap_map_t map)
Finalize local, reentrant icmap.
Definition icmap.c:242
icmap_get_int32_r
cs_error_t icmap_get_int32_r(const icmap_map_t map, const char *key_name, int32_t *i32)
Definition icmap.c:824
icmap_get_r
cs_error_t icmap_get_r(const icmap_map_t map, const char *key_name, void *value, size_t *value_len, icmap_value_types_t *type)
Same as icmap_get but it's reentrant and operates on given icmap_map.
Definition icmap.c:696
icmap_track_t
struct icmap_track * icmap_track_t
Track type.
Definition icmap.h:128
icmap_get_int32
cs_error_t icmap_get_int32(const char *key_name, int32_t *i32)
Definition icmap.c:890
icmap_init
cs_error_t icmap_init(void)
Initialize global icmap.
Definition icmap.c:212
icmap_track_delete
cs_error_t icmap_track_delete(icmap_track_t icmap_track)
Remove previously added track.
Definition icmap.c:1208
icmap_set_uint64
cs_error_t icmap_set_uint64(const char *key_name, uint64_t value)
Definition icmap.c:613
icmap_dec
cs_error_t icmap_dec(const char *key_name)
Decrease stored value by one.
Definition icmap.c:1063
icmap_fini
void icmap_fini(void)
Finalize global icmap.
Definition icmap.c:251
icmap_get_uint32_r
cs_error_t icmap_get_uint32_r(const icmap_map_t map, const char *key_name, uint32_t *u32)
Definition icmap.c:830
icmap_get_uint64_r
cs_error_t icmap_get_uint64_r(const icmap_map_t map, const char *key_name, uint64_t *u64)
Definition icmap.c:842
icmap_get_int16_r
cs_error_t icmap_get_int16_r(const icmap_map_t map, const char *key_name, int16_t *i16)
Definition icmap.c:812
icmap_set_uint32
cs_error_t icmap_set_uint32(const char *key_name, uint32_t value)
Definition icmap.c:601
icmap_track_get_user_data
void * icmap_track_get_user_data(icmap_track_t icmap_track)
Return user data associated with given track.
Definition icmap.c:1224
icmap_set_int16
cs_error_t icmap_set_int16(const char *key_name, int16_t value)
Definition icmap.c:583
icmap_get_uint64
cs_error_t icmap_get_uint64(const char *key_name, uint64_t *u64)
Definition icmap.c:908
icmap_get_string
cs_error_t icmap_get_string(const char *key_name, char **str)
Shortcut for icmap_get for string type.
Definition icmap.c:860
icmap_get_int16
cs_error_t icmap_get_int16(const char *key_name, int16_t *i16)
Definition icmap.c:878
icmap_adjust_int_r
cs_error_t icmap_adjust_int_r(const icmap_map_t map, const char *key_name, int32_t step)
icmap_adjust_int_r
Definition icmap.c:926
icmap_is_key_ro
int icmap_is_key_ro(const char *key_name)
Check in given key is read only.
Definition icmap.c:1276
icmap_set_float
cs_error_t icmap_set_float(const char *key_name, float value)
Definition icmap.c:619
icmap_get_int8
cs_error_t icmap_get_int8(const char *key_name, int8_t *i8)
Definition icmap.c:866
icmap_fast_inc_r
cs_error_t icmap_fast_inc_r(const icmap_map_t map, const char *key_name)
icmap_fast_inc_r
Definition icmap.c:1068
user_data
void * user_data
Definition sam.c:127
icmap_map
Definition icmap.c:55
icmap_notify_value
Structure passed as new_value and old_value in change callback.
Definition icmap.h:91
icmap_notify_value::type
icmap_value_types_t type
Definition icmap.h:92
icmap_notify_value::data
const void * data
Definition icmap.h:94
icmap_notify_value::len
size_t len
Definition icmap.h:93
icmap_track
Definition icmap.c:61
icmap_track::notify_fn
icmap_notify_fn_t notify_fn
Definition icmap.c:64
icmap_track::key_name
char * key_name
Definition icmap.c:62
icmap_track::track_type
int32_t track_type
Definition icmap.c:63
type
char type
Definition totem.h:2