34#ifndef ICMAP_H_DEFINED
35#define ICMAP_H_DEFINED
48#define ICMAP_KEYNAME_MAXLEN 255
53#define ICMAP_KEYNAME_MINLEN 3
76#define ICMAP_TRACK_ADD 4
77#define ICMAP_TRACK_DELETE 1
78#define ICMAP_TRACK_MODIFY 2
85#define ICMAP_TRACK_PREFIX 8
105 const char *key_name,
178 const char *key_name1,
180 const char *key_name2);
cs_error_t
The cs_error_t enum.
int32_t icmap_tt_to_qbtt(int32_t track_type)
cs_error_t icmap_set_int8_r(const icmap_map_t map, const char *key_name, int8_t value)
icmap_iter_t icmap_iter_init_r(const icmap_map_t map, const char *prefix)
icmap_iter_init_r
cs_error_t icmap_get_uint8(const char *key_name, uint8_t *u8)
cs_error_t icmap_get_string_r(const icmap_map_t map, const char *key_name, char **str)
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
cs_error_t icmap_get_uint16(const char *key_name, uint16_t *u16)
cs_error_t icmap_get_float_r(const icmap_map_t map, const char *key_name, float *flt)
cs_error_t icmap_get_uint32(const char *key_name, uint32_t *u32)
cs_error_t icmap_set_int16_r(const icmap_map_t map, const char *key_name, int16_t value)
cs_error_t icmap_set_uint8(const char *key_name, uint8_t value)
cs_error_t icmap_set_uint16_r(const icmap_map_t map, const char *key_name, uint16_t value)
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.
cs_error_t icmap_adjust_int(const char *key_name, int32_t step)
icmap_adjust_int
cs_error_t icmap_get_int64(const char *key_name, int64_t *i64)
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.
cs_error_t icmap_set_uint32_r(const icmap_map_t map, const char *key_name, uint32_t value)
cs_error_t icmap_delete(const char *key_name)
Delete key from map.
cs_error_t icmap_fast_dec_r(const icmap_map_t map, const char *key_name)
icmap_fast_dec_r
cs_error_t icmap_set_float_r(const icmap_map_t map, const char *key_name, float value)
struct icmap_map * icmap_map_t
icmap type.
cs_error_t icmap_set_int32(const char *key_name, int32_t value)
cs_error_t icmap_delete_r(const icmap_map_t map, const char *key_name)
icmap_delete_r
icmap_value_types_t
Possible types of value.
cs_error_t icmap_get_uint8_r(const icmap_map_t map, const char *key_name, uint8_t *u8)
cs_error_t icmap_set_uint8_r(const icmap_map_t map, const char *key_name, uint8_t value)
cs_error_t icmap_set_uint16(const char *key_name, uint16_t value)
cs_error_t icmap_dec_r(const icmap_map_t map, const char *key_name)
icmap_dec_r
cs_error_t icmap_set_int64(const char *key_name, int64_t value)
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.
cs_error_t icmap_set_string(const char *key_name, const char *value)
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.
int32_t icmap_qbtt_to_tt(int32_t track_type)
cs_error_t icmap_inc(const char *key_name)
Increase stored value by one.
cs_error_t icmap_set_int64_r(const icmap_map_t map, const char *key_name, int64_t value)
cs_error_t icmap_set_double(const char *key_name, double value)
cs_error_t icmap_set_int8(const char *key_name, int8_t value)
size_t icmap_get_valuetype_len(icmap_value_types_t type)
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.
cs_error_t icmap_get_float(const char *key_name, float *flt)
cs_error_t icmap_get_double(const char *key_name, double *dbl)
cs_error_t icmap_get_int8_r(const icmap_map_t map, const char *key_name, int8_t *i8)
cs_error_t icmap_set_uint64_r(const icmap_map_t map, const char *key_name, uint64_t value)
cs_error_t icmap_fast_dec(const char *key_name)
Decrease stored value by one.
icmap_iter_t icmap_iter_init(const char *prefix)
Initialize iterator with given prefix.
cs_error_t icmap_set_double_r(const icmap_map_t map, const char *key_name, double value)
cs_error_t icmap_get_uint16_r(const icmap_map_t map, const char *key_name, uint16_t *u16)
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.
cs_error_t icmap_init_r(icmap_map_t *result)
Initialize additional (local, reentrant) icmap_map.
cs_error_t icmap_set_int32_r(const icmap_map_t map, const char *key_name, int32_t value)
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.
cs_error_t icmap_get_int64_r(const icmap_map_t map, const char *key_name, int64_t *i64)
void icmap_convert_name_to_valid_name(char *key_name)
Converts given key_name to valid key name (replacing all prohibited characters by _)
cs_error_t icmap_fast_adjust_int(const char *key_name, int32_t step)
icmap_fast_adjust_int
const char * icmap_iter_next(icmap_iter_t iter, size_t *value_len, icmap_value_types_t *type)
Return next item in iterator iter.
cs_error_t icmap_fast_inc(const char *key_name)
Increase stored value by one.
cs_error_t icmap_inc_r(const icmap_map_t map, const char *key_name)
icmap_inc_r
icmap_map_t icmap_get_global_map(void)
Return global icmap.
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.
qb_map_iter_t * icmap_iter_t
Itterator type.
cs_error_t icmap_get_double_r(const icmap_map_t map, const char *key_name, double *dbl)
cs_error_t icmap_set_string_r(const icmap_map_t map, const char *key_name, const char *value)
void icmap_iter_finalize(icmap_iter_t iter)
Finalize iterator.
void icmap_fini_r(const icmap_map_t map)
Finalize local, reentrant icmap.
cs_error_t icmap_get_int32_r(const icmap_map_t map, const char *key_name, int32_t *i32)
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.
struct icmap_track * icmap_track_t
Track type.
cs_error_t icmap_get_int32(const char *key_name, int32_t *i32)
cs_error_t icmap_init(void)
Initialize global icmap.
cs_error_t icmap_track_delete(icmap_track_t icmap_track)
Remove previously added track.
cs_error_t icmap_set_uint64(const char *key_name, uint64_t value)
cs_error_t icmap_dec(const char *key_name)
Decrease stored value by one.
void icmap_fini(void)
Finalize global icmap.
cs_error_t icmap_get_uint32_r(const icmap_map_t map, const char *key_name, uint32_t *u32)
cs_error_t icmap_get_uint64_r(const icmap_map_t map, const char *key_name, uint64_t *u64)
cs_error_t icmap_get_int16_r(const icmap_map_t map, const char *key_name, int16_t *i16)
cs_error_t icmap_set_uint32(const char *key_name, uint32_t value)
void * icmap_track_get_user_data(icmap_track_t icmap_track)
Return user data associated with given track.
cs_error_t icmap_set_int16(const char *key_name, int16_t value)
cs_error_t icmap_get_uint64(const char *key_name, uint64_t *u64)
cs_error_t icmap_get_string(const char *key_name, char **str)
Shortcut for icmap_get for string type.
cs_error_t icmap_get_int16(const char *key_name, int16_t *i16)
cs_error_t icmap_adjust_int_r(const icmap_map_t map, const char *key_name, int32_t step)
icmap_adjust_int_r
int icmap_is_key_ro(const char *key_name)
Check in given key is read only.
cs_error_t icmap_set_float(const char *key_name, float value)
cs_error_t icmap_get_int8(const char *key_name, int8_t *i8)
cs_error_t icmap_fast_inc_r(const icmap_map_t map, const char *key_name)
icmap_fast_inc_r
Structure passed as new_value and old_value in change callback.
icmap_notify_fn_t notify_fn