corosync
2.4.2
|
Go to the source code of this file.
Data Structures | |
struct | icmap_notify_value |
Structure passed as new_value and old_value in change callback. More... | |
Macros | |
#define | ICMAP_KEYNAME_MAXLEN 255 |
Maximum length of key in icmap. More... | |
#define | ICMAP_KEYNAME_MINLEN 3 |
Minimum lenght of key in icmap. More... | |
#define | ICMAP_TRACK_ADD 4 |
#define | ICMAP_TRACK_DELETE 1 |
#define | ICMAP_TRACK_MODIFY 2 |
#define | ICMAP_TRACK_PREFIX 8 |
Whole prefix is tracked, instead of key only (so "totem." tracking means that "totem.nodeid", "totem.version", ... More... | |
Typedefs | |
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) |
Prototype for notify callback function. More... | |
typedef struct icmap_map * | icmap_map_t |
icmap type. More... | |
typedef qb_map_iter_t * | icmap_iter_t |
Itterator type. More... | |
typedef struct icmap_track * | icmap_track_t |
Track type. More... | |
Enumerations | |
enum | icmap_value_types_t { 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 } |
Possible types of value. More... | |
Functions | |
cs_error_t | icmap_init (void) |
Initialize global icmap. More... | |
cs_error_t | icmap_init_r (icmap_map_t *result) |
Initialize additional (local, reentrant) icmap_map. More... | |
void | icmap_fini (void) |
Finalize global icmap. More... | |
void | icmap_fini_r (const icmap_map_t map) |
Finalize local, reentrant icmap. More... | |
icmap_map_t | icmap_get_global_map (void) |
Return global icmap. More... | |
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. More... | |
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. More... | |
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. More... | |
cs_error_t | icmap_set_int8 (const char *key_name, int8_t value) |
cs_error_t | icmap_set_uint8 (const char *key_name, uint8_t value) |
cs_error_t | icmap_set_int16 (const char *key_name, int16_t value) |
cs_error_t | icmap_set_uint16 (const char *key_name, uint16_t value) |
cs_error_t | icmap_set_int32 (const char *key_name, int32_t value) |
cs_error_t | icmap_set_uint32 (const char *key_name, uint32_t value) |
cs_error_t | icmap_set_int64 (const char *key_name, int64_t value) |
cs_error_t | icmap_set_uint64 (const char *key_name, uint64_t value) |
cs_error_t | icmap_set_float (const char *key_name, float value) |
cs_error_t | icmap_set_double (const char *key_name, double value) |
cs_error_t | icmap_set_string (const char *key_name, const char *value) |
cs_error_t | icmap_set_int8_r (const icmap_map_t map, const char *key_name, int8_t value) |
cs_error_t | icmap_set_uint8_r (const icmap_map_t map, const char *key_name, uint8_t value) |
cs_error_t | icmap_set_int16_r (const icmap_map_t map, const char *key_name, int16_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_int32_r (const icmap_map_t map, const char *key_name, int32_t value) |
cs_error_t | icmap_set_uint32_r (const icmap_map_t map, const char *key_name, uint32_t value) |
cs_error_t | icmap_set_int64_r (const icmap_map_t map, const char *key_name, int64_t value) |
cs_error_t | icmap_set_uint64_r (const icmap_map_t map, const char *key_name, uint64_t value) |
cs_error_t | icmap_set_float_r (const icmap_map_t map, const char *key_name, float value) |
cs_error_t | icmap_set_double_r (const icmap_map_t map, const char *key_name, double value) |
cs_error_t | icmap_set_string_r (const icmap_map_t map, const char *key_name, const char *value) |
cs_error_t | icmap_delete (const char *key_name) |
Delete key from map. More... | |
cs_error_t | icmap_delete_r (const icmap_map_t map, const char *key_name) |
icmap_delete_r More... | |
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. More... | |
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. More... | |
cs_error_t | icmap_get_int8 (const char *key_name, int8_t *i8) |
cs_error_t | icmap_get_uint8 (const char *key_name, uint8_t *u8) |
cs_error_t | icmap_get_int16 (const char *key_name, int16_t *i16) |
cs_error_t | icmap_get_uint16 (const char *key_name, uint16_t *u16) |
cs_error_t | icmap_get_int32 (const char *key_name, int32_t *i32) |
cs_error_t | icmap_get_uint32 (const char *key_name, uint32_t *u32) |
cs_error_t | icmap_get_int64 (const char *key_name, int64_t *i64) |
cs_error_t | icmap_get_uint64 (const char *key_name, uint64_t *u64) |
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_get_uint8_r (const icmap_map_t map, const char *key_name, uint8_t *u8) |
cs_error_t | icmap_get_int16_r (const icmap_map_t map, const char *key_name, int16_t *i16) |
cs_error_t | icmap_get_uint16_r (const icmap_map_t map, const char *key_name, uint16_t *u16) |
cs_error_t | icmap_get_int32_r (const icmap_map_t map, const char *key_name, int32_t *i32) |
cs_error_t | icmap_get_uint32_r (const icmap_map_t map, const char *key_name, uint32_t *u32) |
cs_error_t | icmap_get_int64_r (const icmap_map_t map, const char *key_name, int64_t *i64) |
cs_error_t | icmap_get_uint64_r (const icmap_map_t map, const char *key_name, uint64_t *u64) |
cs_error_t | icmap_get_float_r (const icmap_map_t map, const char *key_name, float *flt) |
cs_error_t | icmap_get_double_r (const icmap_map_t map, const char *key_name, double *dbl) |
cs_error_t | icmap_get_string (const char *key_name, char **str) |
Shortcut for icmap_get for string type. More... | |
cs_error_t | icmap_adjust_int (const char *key_name, int32_t step) |
icmap_adjust_int More... | |
cs_error_t | icmap_adjust_int_r (const icmap_map_t map, const char *key_name, int32_t step) |
icmap_adjust_int_r More... | |
cs_error_t | icmap_fast_adjust_int (const char *key_name, int32_t step) |
icmap_fast_adjust_int More... | |
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 More... | |
cs_error_t | icmap_inc (const char *key_name) |
Increase stored value by one. More... | |
cs_error_t | icmap_inc_r (const icmap_map_t map, const char *key_name) |
icmap_inc_r More... | |
cs_error_t | icmap_dec (const char *key_name) |
Decrease stored value by one. More... | |
cs_error_t | icmap_dec_r (const icmap_map_t map, const char *key_name) |
icmap_dec_r More... | |
cs_error_t | icmap_fast_inc (const char *key_name) |
Increase stored value by one. More... | |
cs_error_t | icmap_fast_inc_r (const icmap_map_t map, const char *key_name) |
icmap_fast_inc_r More... | |
cs_error_t | icmap_fast_dec (const char *key_name) |
Decrease stored value by one. More... | |
cs_error_t | icmap_fast_dec_r (const icmap_map_t map, const char *key_name) |
icmap_fast_dec_r More... | |
icmap_iter_t | icmap_iter_init (const char *prefix) |
Initialize iterator with given prefix. More... | |
icmap_iter_t | icmap_iter_init_r (const icmap_map_t map, const char *prefix) |
icmap_iter_init_r More... | |
const char * | icmap_iter_next (icmap_iter_t iter, size_t *value_len, icmap_value_types_t *type) |
Return next item in iterator iter. More... | |
void | icmap_iter_finalize (icmap_iter_t iter) |
Finalize iterator. More... | |
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. More... | |
void * | icmap_track_get_user_data (icmap_track_t icmap_track) |
Return user data associated with given track. More... | |
cs_error_t | icmap_track_delete (icmap_track_t icmap_track) |
Remove previously added track. More... | |
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. More... | |
int | icmap_is_key_ro (const char *key_name) |
Check in given key is read only. More... | |
void | icmap_convert_name_to_valid_name (char *key_name) |
Converts given key_name to valid key name (replacing all prohibited characters by _) More... | |
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. More... | |
#define ICMAP_KEYNAME_MAXLEN 255 |
Maximum length of key in icmap.
Definition at line 48 of file icmap.h.
Referenced by coroparse_configparse(), corosync_service_link_and_init(), cs_ipcs_private_data_get(), cs_ipcs_service_destroy(), cs_ipcs_stats_update(), icmap_convert_name_to_valid_name(), mon_get_service_engine_ver0(), totem_config_find_local_addr_in_nodelist(), totem_config_read(), and wd_get_service_engine_ver0().
#define ICMAP_KEYNAME_MINLEN 3 |
Minimum lenght of key in icmap.
Definition at line 53 of file icmap.h.
Referenced by icmap_convert_name_to_valid_name().
#define ICMAP_TRACK_ADD 4 |
Definition at line 76 of file icmap.h.
Referenced by mon_get_service_engine_ver0(), totem_config_keyread(), and wd_get_service_engine_ver0().
#define ICMAP_TRACK_DELETE 1 |
Definition at line 77 of file icmap.h.
Referenced by mon_get_service_engine_ver0(), totem_config_keyread(), and wd_get_service_engine_ver0().
#define ICMAP_TRACK_MODIFY 2 |
Definition at line 78 of file icmap.h.
Referenced by mon_get_service_engine_ver0(), totem_config_keyread(), and wd_get_service_engine_ver0().
#define ICMAP_TRACK_PREFIX 8 |
Whole prefix is tracked, instead of key only (so "totem." tracking means that "totem.nodeid", "totem.version", ...
applies). This value is also never returned inside of callback and is used only in adding track
Definition at line 85 of file icmap.h.
Referenced by mon_get_service_engine_ver0(), totem_config_keyread(), and wd_get_service_engine_ver0().
typedef qb_map_iter_t* icmap_iter_t |
typedef struct icmap_map* icmap_map_t |
icmap type.
icmap.c contains global variable (icmap_global_map) of this type. This is used in every non-reentant call. Also only in this table are implemented operations like set_ro and tracking of values. Other tables (created by icmap_init_r) are simple map tables with get/set/iter operations.
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) |
Prototype for notify callback function.
Even is one of ICMAP_TRACK_* event, key_name is changed key, new and old_value contains values or are zeroed (in other words, type is non existing 0 type) if there were no old (creating of key) or new (deleting of key) value. user_data are passed when adding tracking.
typedef struct icmap_track* icmap_track_t |
enum icmap_value_types_t |
Possible types of value.
Binary is raw data without trailing zero with given length
cs_error_t icmap_adjust_int | ( | const char * | key_name, |
int32_t | step | ||
) |
icmap_adjust_int
Defined only for [u]int* values. It adds step to current value.
key_name | |
step |
Definition at line 987 of file icmap.c.
References 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
map | |
key_name | |
step |
Definition at line 930 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NOT_EXIST, CS_OK, icmap_set(), ICMAP_VALUETYPE_BINARY, ICMAP_VALUETYPE_DOUBLE, ICMAP_VALUETYPE_FLOAT, ICMAP_VALUETYPE_INT16, ICMAP_VALUETYPE_INT32, ICMAP_VALUETYPE_INT64, ICMAP_VALUETYPE_INT8, ICMAP_VALUETYPE_STRING, ICMAP_VALUETYPE_UINT16, ICMAP_VALUETYPE_UINT32, ICMAP_VALUETYPE_UINT64, ICMAP_VALUETYPE_UINT8, icmap_map::qb_map, icmap_item::type, and icmap_item::value.
Referenced by icmap_adjust_int(), icmap_dec_r(), and icmap_inc_r().
void icmap_convert_name_to_valid_name | ( | char * | key_name | ) |
Converts given key_name to valid key name (replacing all prohibited characters by _)
key_name |
Definition at line 292 of file icmap.c.
References ICMAP_KEYNAME_MAXLEN, ICMAP_KEYNAME_MINLEN, ICMAP_MAX_VALUE_LEN, ICMAP_VALUETYPE_BINARY, ICMAP_VALUETYPE_DOUBLE, ICMAP_VALUETYPE_FLOAT, ICMAP_VALUETYPE_INT16, ICMAP_VALUETYPE_INT32, ICMAP_VALUETYPE_INT64, ICMAP_VALUETYPE_INT8, ICMAP_VALUETYPE_STRING, ICMAP_VALUETYPE_UINT16, ICMAP_VALUETYPE_UINT32, ICMAP_VALUETYPE_UINT64, ICMAP_VALUETYPE_UINT8, icmap_item::key_name, icmap_item::type, icmap_item::value, and icmap_item::value_len.
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.
dst_map | |
src_map |
Definition at line 1306 of file icmap.c.
References CS_ERR_NO_MEMORY, CS_OK, icmap_iter_finalize(), icmap_iter_init_r(), icmap_iter_next(), icmap_set_r(), icmap_item::key_name, icmap_item::value, and icmap_item::value_len.
cs_error_t icmap_dec | ( | const char * | key_name | ) |
Decrease stored value by one.
key_name |
Definition at line 1067 of file icmap.c.
References icmap_dec_r().
Referenced by cs_ipcs_private_data_get().
cs_error_t icmap_dec_r | ( | const icmap_map_t | map, |
const char * | key_name | ||
) |
icmap_dec_r
map | |
key_name |
Definition at line 1062 of file icmap.c.
References icmap_adjust_int_r().
Referenced by icmap_dec().
cs_error_t icmap_delete | ( | const char * | key_name | ) |
Delete key from map.
key_name |
Definition at line 667 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NOT_EXIST, CS_OK, icmap_delete_r(), icmap_map::qb_map, icmap_item::type, icmap_item::value, and icmap_item::value_len.
Referenced by corosync_service_link_and_init(), and cs_ipcs_private_data_get().
cs_error_t icmap_delete_r | ( | const icmap_map_t | map, |
const char * | key_name | ||
) |
icmap_delete_r
map | |
key_name |
Definition at line 647 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NOT_EXIST, CS_OK, icmap_item::key_name, and icmap_map::qb_map.
Referenced by icmap_delete().
cs_error_t icmap_fast_adjust_int | ( | const char * | key_name, |
int32_t | step | ||
) |
icmap_fast_adjust_int
Defined only for [u]int* values. It adds step to current value. Difference between this function and icmap_adjust_int is given in fact, that in tracking callback, old value is undefined, but whole process is done without malloc/memcpy.
key_name | |
step |
Definition at line 1044 of file icmap.c.
References 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
map | |
key_name | |
step |
Definition at line 995 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NOT_EXIST, CS_OK, ICMAP_VALUETYPE_BINARY, ICMAP_VALUETYPE_DOUBLE, ICMAP_VALUETYPE_FLOAT, ICMAP_VALUETYPE_INT16, ICMAP_VALUETYPE_INT32, ICMAP_VALUETYPE_INT64, ICMAP_VALUETYPE_INT8, ICMAP_VALUETYPE_STRING, ICMAP_VALUETYPE_UINT16, ICMAP_VALUETYPE_UINT32, ICMAP_VALUETYPE_UINT64, ICMAP_VALUETYPE_UINT8, icmap_item::key_name, icmap_map::qb_map, icmap_item::type, and icmap_item::value.
Referenced by icmap_fast_adjust_int(), icmap_fast_dec_r(), and icmap_fast_inc_r().
cs_error_t icmap_fast_dec | ( | const char * | key_name | ) |
Decrease stored value by one.
Difference between this function and icmap_dec is same as between icmap_adjust_int and icmap_fast_adjust_int.
key_name |
Definition at line 1087 of file icmap.c.
References icmap_fast_dec_r().
cs_error_t icmap_fast_dec_r | ( | const icmap_map_t | map, |
const char * | key_name | ||
) |
icmap_fast_dec_r
map | |
key_name |
Definition at line 1082 of file icmap.c.
References icmap_fast_adjust_int_r().
Referenced by icmap_fast_dec().
cs_error_t icmap_fast_inc | ( | const char * | key_name | ) |
Increase stored value by one.
Difference between this function and icmap_inc is same as between icmap_adjust_int and icmap_fast_adjust_int.
key_name |
Definition at line 1077 of file icmap.c.
References icmap_fast_inc_r().
Referenced by main_mcast().
cs_error_t icmap_fast_inc_r | ( | const icmap_map_t | map, |
const char * | key_name | ||
) |
icmap_fast_inc_r
map | |
key_name |
Definition at line 1072 of file icmap.c.
References icmap_fast_adjust_int_r().
Referenced by icmap_fast_inc().
void icmap_fini | ( | void | ) |
Finalize global icmap.
Definition at line 261 of file icmap.c.
References icmap_fini_r().
Referenced by corosync_state_dump().
void icmap_fini_r | ( | const icmap_map_t | map | ) |
Finalize local, reentrant icmap.
map |
Definition at line 252 of file icmap.c.
References icmap_map::qb_map.
Referenced by icmap_fini().
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.
Value can be NULL, and then only value_len and/or type is returned (both of them can also be NULL). If value is not NULL, actual length of value in map is checked against value_len. If *value_len is shorter then length of value in map, error CS_ERR_INVALID_PARAM is returned. After successful copy of value, value_len is set to actual length of value in map.
key_name | |
value | |
value_len | |
type |
Definition at line 739 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_OK, and icmap_get_r().
Referenced by icmap_get_string(), and totem_config_keyread().
cs_error_t icmap_get_double | ( | const char * | key_name, |
double * | dbl | ||
) |
Definition at line 890 of file icmap.c.
References icmap_get_double_r().
cs_error_t icmap_get_double_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
double * | dbl | ||
) |
Definition at line 830 of file icmap.c.
References ICMAP_VALUETYPE_DOUBLE.
Referenced by icmap_get_double().
cs_error_t icmap_get_float | ( | const char * | key_name, |
float * | flt | ||
) |
Definition at line 884 of file icmap.c.
References icmap_get_float_r().
cs_error_t icmap_get_float_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
float * | flt | ||
) |
Definition at line 824 of file icmap.c.
References ICMAP_VALUETYPE_FLOAT.
Referenced by icmap_get_float().
icmap_map_t icmap_get_global_map | ( | void | ) |
cs_error_t icmap_get_int16 | ( | const char * | key_name, |
int16_t * | i16 | ||
) |
Definition at line 848 of file icmap.c.
References icmap_get_int16_r().
cs_error_t icmap_get_int16_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int16_t * | i16 | ||
) |
Definition at line 788 of file icmap.c.
References ICMAP_VALUETYPE_INT16.
Referenced by icmap_get_int16().
cs_error_t icmap_get_int32 | ( | const char * | key_name, |
int32_t * | i32 | ||
) |
Definition at line 860 of file icmap.c.
References icmap_get_int32_r().
cs_error_t icmap_get_int32_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int32_t * | i32 | ||
) |
Definition at line 800 of file icmap.c.
References ICMAP_VALUETYPE_INT32.
Referenced by icmap_get_int32().
cs_error_t icmap_get_int64 | ( | const char * | key_name, |
int64_t * | i64 | ||
) |
Definition at line 872 of file icmap.c.
References icmap_get_int64_r().
cs_error_t icmap_get_int64_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int64_t * | i64 | ||
) |
Definition at line 812 of file icmap.c.
References ICMAP_VALUETYPE_INT64.
Referenced by icmap_get_int64().
cs_error_t icmap_get_int8 | ( | const char * | key_name, |
int8_t * | i8 | ||
) |
Definition at line 836 of file icmap.c.
References icmap_get_int8_r().
cs_error_t icmap_get_int8_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int8_t * | i8 | ||
) |
Definition at line 776 of file icmap.c.
References ICMAP_VALUETYPE_INT8.
Referenced by icmap_get_int8().
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.
map | |
key_name | |
value | |
value_len | |
type |
Definition at line 706 of file icmap.c.
References CS_ERR_INVALID_PARAM, and CS_OK.
Referenced by icmap_get().
cs_error_t icmap_get_string | ( | const char * | key_name, |
char ** | str | ||
) |
Shortcut for icmap_get for string type.
Returned string is newly allocated and caller is responsible for freeing memory
key_name | |
str |
Definition at line 896 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NO_MEMORY, CS_OK, icmap_get(), ICMAP_VALUETYPE_STRING, and icmap_item::type.
Referenced by corosync_service_link_and_init(), cs_ipcs_stats_update(), mon_get_service_engine_ver0(), totem_config_find_local_addr_in_nodelist(), totem_config_keyread(), totem_config_read(), vsf_quorum_get_service_engine_ver0(), and wd_get_service_engine_ver0().
cs_error_t icmap_get_uint16 | ( | const char * | key_name, |
uint16_t * | u16 | ||
) |
Definition at line 854 of file icmap.c.
References icmap_get_uint16_r().
Referenced by totem_config_read().
cs_error_t icmap_get_uint16_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint16_t * | u16 | ||
) |
Definition at line 794 of file icmap.c.
References ICMAP_VALUETYPE_UINT16.
Referenced by icmap_get_uint16().
cs_error_t icmap_get_uint32 | ( | const char * | key_name, |
uint32_t * | u32 | ||
) |
Definition at line 866 of file icmap.c.
References icmap_get_uint32_r().
Referenced by corosync_service_link_and_init(), totem_config_read(), and wd_get_service_engine_ver0().
cs_error_t icmap_get_uint32_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint32_t * | u32 | ||
) |
Definition at line 806 of file icmap.c.
References ICMAP_VALUETYPE_UINT32.
Referenced by icmap_get_uint32().
cs_error_t icmap_get_uint64 | ( | const char * | key_name, |
uint64_t * | u64 | ||
) |
Definition at line 878 of file icmap.c.
References icmap_get_uint64_r().
Referenced by wd_get_service_engine_ver0().
cs_error_t icmap_get_uint64_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint64_t * | u64 | ||
) |
Definition at line 818 of file icmap.c.
References ICMAP_VALUETYPE_UINT64.
Referenced by icmap_get_uint64().
cs_error_t icmap_get_uint8 | ( | const char * | key_name, |
uint8_t * | u8 | ||
) |
Definition at line 842 of file icmap.c.
References icmap_get_uint8_r().
Referenced by cs_ipcs_service_destroy(), totem_config_keyread(), and totem_config_read().
cs_error_t icmap_get_uint8_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint8_t * | u8 | ||
) |
Definition at line 782 of file icmap.c.
References ICMAP_VALUETYPE_UINT8.
Referenced by icmap_get_uint8().
cs_error_t icmap_inc | ( | const char * | key_name | ) |
Increase stored value by one.
key_name |
Definition at line 1057 of file icmap.c.
References icmap_inc_r().
Referenced by cs_ipcs_private_data_get().
cs_error_t icmap_inc_r | ( | const icmap_map_t | map, |
const char * | key_name | ||
) |
icmap_inc_r
map | |
key_name |
Definition at line 1052 of file icmap.c.
References icmap_adjust_int_r().
Referenced by icmap_inc().
cs_error_t icmap_init | ( | void | ) |
Initialize global icmap.
Definition at line 221 of file icmap.c.
References icmap_init_r(), icmap_track_delete(), icmap_ro_access_item::key_name, icmap_ro_access_item::list, list_entry, and list_head::next.
Referenced by main().
cs_error_t icmap_init_r | ( | icmap_map_t * | result | ) |
Initialize additional (local, reentrant) icmap_map.
Content of variable result is undefined if return code is not CS_OK.
result |
Definition at line 203 of file icmap.c.
References CS_ERR_INIT, CS_ERR_NO_MEMORY, and qb_to_cs_error().
Referenced by icmap_init().
int icmap_is_key_ro | ( | const char * | key_name | ) |
Check in given key is read only.
Returns !0 if so, otherwise (key is rw) 0.
key_name |
Definition at line 1280 of file icmap.c.
References CS_FALSE, CS_TRUE, icmap_ro_access_item::key_name, list_entry, list_head::next, and icmap_ro_access_item::prefix.
void icmap_iter_finalize | ( | icmap_iter_t | iter | ) |
Finalize iterator.
iter |
Definition at line 1124 of file icmap.c.
References icmap_notify_value::data, icmap_notify_value::len, icmap_track::notify_fn, icmap_item::type, icmap_notify_value::type, icmap_track::user_data, icmap_item::value, and icmap_item::value_len.
Referenced by corosync_service_link_and_init(), cs_ipcs_private_data_get(), icmap_copy_map(), totem_config_find_local_addr_in_nodelist(), totem_config_read(), and wd_get_service_engine_ver0().
icmap_iter_t icmap_iter_init | ( | const char * | prefix | ) |
Initialize iterator with given prefix.
prefix |
Definition at line 1097 of file icmap.c.
References icmap_iter_init_r().
Referenced by corosync_service_link_and_init(), cs_ipcs_private_data_get(), totem_config_find_local_addr_in_nodelist(), totem_config_read(), and wd_get_service_engine_ver0().
icmap_iter_t icmap_iter_init_r | ( | const icmap_map_t | map, |
const char * | prefix | ||
) |
icmap_iter_init_r
map | |
prefix |
Definition at line 1092 of file icmap.c.
References icmap_map::qb_map.
Referenced by icmap_copy_map(), and icmap_iter_init().
const char* icmap_iter_next | ( | icmap_iter_t | iter, |
size_t * | value_len, | ||
icmap_value_types_t * | type | ||
) |
Return next item in iterator iter.
value_len and type are optional (= can be NULL), but if set, length of returned value and/or type is returned. Function returns following key_name or NULL if iteration is over.
iter | |
value_len | |
type |
Definition at line 1103 of file icmap.c.
References icmap_item::type, and icmap_item::value_len.
Referenced by corosync_service_link_and_init(), cs_ipcs_private_data_get(), icmap_copy_map(), totem_config_find_local_addr_in_nodelist(), totem_config_read(), and wd_get_service_engine_ver0().
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.
Two values must have same type, length and value to be considered equal. Function returns 0 when any of map1, key_name1, map2, key_name2 are NULL, or key_name is not found in map, or keys are not equal. != 0 is returned when values are equal.
map1 | |
key_name1 | |
map2 | |
key_name2 |
Definition at line 399 of file icmap.c.
References icmap_map::qb_map, icmap_item::type, icmap_item::value, and icmap_item::value_len.
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.
key_name | |
value | |
value_len | |
type |
Definition at line 501 of file icmap.c.
References icmap_set_r().
Referenced by icmap_adjust_int_r().
cs_error_t icmap_set_double | ( | const char * | key_name, |
double | value | ||
) |
Definition at line 635 of file icmap.c.
References icmap_set_double_r().
Referenced by mon_get_service_engine_ver0().
cs_error_t icmap_set_double_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
double | value | ||
) |
Definition at line 565 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_DOUBLE.
Referenced by icmap_set_double().
cs_error_t icmap_set_float | ( | const char * | key_name, |
float | value | ||
) |
Definition at line 629 of file icmap.c.
References icmap_set_float_r().
cs_error_t icmap_set_float_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
float | value | ||
) |
Definition at line 559 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_FLOAT.
Referenced by icmap_set_float().
cs_error_t icmap_set_int16 | ( | const char * | key_name, |
int16_t | value | ||
) |
Definition at line 593 of file icmap.c.
References icmap_set_int16_r().
cs_error_t icmap_set_int16_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int16_t | value | ||
) |
Definition at line 523 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_INT16.
Referenced by icmap_set_int16().
cs_error_t icmap_set_int32 | ( | const char * | key_name, |
int32_t | value | ||
) |
Definition at line 605 of file icmap.c.
References icmap_set_int32_r().
Referenced by mon_get_service_engine_ver0().
cs_error_t icmap_set_int32_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int32_t | value | ||
) |
Definition at line 535 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_INT32.
Referenced by icmap_set_int32().
cs_error_t icmap_set_int64 | ( | const char * | key_name, |
int64_t | value | ||
) |
Definition at line 617 of file icmap.c.
References icmap_set_int64_r().
cs_error_t icmap_set_int64_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int64_t | value | ||
) |
Definition at line 547 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_INT64.
Referenced by icmap_set_int64().
cs_error_t icmap_set_int8 | ( | const char * | key_name, |
int8_t | value | ||
) |
Definition at line 581 of file icmap.c.
References icmap_set_int8_r().
cs_error_t icmap_set_int8_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
int8_t | value | ||
) |
Definition at line 511 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_INT8.
Referenced by icmap_set_int8().
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.
map | |
key_name | |
value | |
value_len | |
type |
Definition at line 421 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NAME_TOO_LONG, CS_ERR_NO_MEMORY, CS_OK, ICMAP_VALUETYPE_BINARY, ICMAP_VALUETYPE_STRING, icmap_item::key_name, icmap_map::qb_map, icmap_item::type, and icmap_item::value_len.
Referenced by icmap_copy_map(), icmap_set(), icmap_set_double_r(), icmap_set_float_r(), icmap_set_int16_r(), icmap_set_int32_r(), icmap_set_int64_r(), icmap_set_int8_r(), icmap_set_string_r(), icmap_set_uint16_r(), icmap_set_uint32_r(), icmap_set_uint64_r(), and icmap_set_uint8_r().
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.
ro_access can be !0, which means, that old information about ro of this key is deleted. Read-only access is used only in CMAP service! (in other word it prevents users from deleting/changing key, but doesn't guarantee anything for internal icmap users.)
key_name | |
prefix | |
ro_access |
Definition at line 1233 of file icmap.c.
References CS_ERR_EXIST, CS_ERR_NO_MEMORY, CS_ERR_NOT_EXIST, CS_OK, icmap_ro_access_item::key_name, icmap_ro_access_item::list, list_entry, list_head::next, and icmap_ro_access_item::prefix.
Referenced by totem_config_read().
cs_error_t icmap_set_string | ( | const char * | key_name, |
const char * | value | ||
) |
Definition at line 641 of file icmap.c.
References icmap_set_string_r().
Referenced by corosync_service_link_and_init(), mon_get_service_engine_ver0(), totem_config_find_local_addr_in_nodelist(), and totem_config_read().
cs_error_t icmap_set_string_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
const char * | value | ||
) |
Definition at line 571 of file icmap.c.
References CS_ERR_INVALID_PARAM, icmap_set_r(), and ICMAP_VALUETYPE_STRING.
Referenced by coroparse_configparse(), and icmap_set_string().
cs_error_t icmap_set_uint16 | ( | const char * | key_name, |
uint16_t | value | ||
) |
Definition at line 599 of file icmap.c.
References icmap_set_uint16_r().
Referenced by corosync_service_link_and_init(), and totem_config_read().
cs_error_t icmap_set_uint16_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint16_t | value | ||
) |
Definition at line 529 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_UINT16.
Referenced by coroparse_configparse(), and icmap_set_uint16().
cs_error_t icmap_set_uint32 | ( | const char * | key_name, |
uint32_t | value | ||
) |
Definition at line 611 of file icmap.c.
References icmap_set_uint32_r().
Referenced by corosync_service_link_and_init(), cs_ipcs_stats_update(), mon_get_service_engine_ver0(), totem_config_keyread(), totem_config_read(), and wd_get_service_engine_ver0().
cs_error_t icmap_set_uint32_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint32_t | value | ||
) |
Definition at line 541 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_UINT32.
Referenced by coroparse_configparse(), and icmap_set_uint32().
cs_error_t icmap_set_uint64 | ( | const char * | key_name, |
uint64_t | value | ||
) |
Definition at line 623 of file icmap.c.
References icmap_set_uint64_r().
Referenced by corosync_service_link_and_init(), cs_ipcs_init(), cs_ipcs_stats_update(), mon_get_service_engine_ver0(), and wd_get_service_engine_ver0().
cs_error_t icmap_set_uint64_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint64_t | value | ||
) |
Definition at line 553 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_UINT64.
Referenced by coroparse_configparse(), and icmap_set_uint64().
cs_error_t icmap_set_uint8 | ( | const char * | key_name, |
uint8_t | value | ||
) |
Definition at line 587 of file icmap.c.
References icmap_set_uint8_r().
Referenced by totem_config_keyread(), and totem_config_read().
cs_error_t icmap_set_uint8_r | ( | const icmap_map_t | map, |
const char * | key_name, | ||
uint8_t | value | ||
) |
Definition at line 517 of file icmap.c.
References icmap_set_r(), and ICMAP_VALUETYPE_UINT8.
Referenced by coroparse_configparse(), and icmap_set_uint8().
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.
Tracked changes (add|modify|delete) depend on track_type, which is bitwise or of ICMAP_TRACK_* values. notify_fn is called on change, where user_data pointer is passed (unchanged). Value which can be used to delete tracking is passed as icmap_track.
key_name | |
track_type | |
notify_fn | |
user_data | |
icmap_track |
Definition at line 1167 of file icmap.c.
References CS_ERR_INVALID_PARAM, CS_ERR_NO_MEMORY, CS_OK, icmap_map::qb_map, qb_to_cs_error(), and user_data.
Referenced by mon_get_service_engine_ver0(), totem_config_keyread(), and wd_get_service_engine_ver0().
cs_error_t icmap_track_delete | ( | icmap_track_t | icmap_track | ) |
Remove previously added track.
icmap_track |
Definition at line 1212 of file icmap.c.
References CS_OK, icmap_track::key_name, icmap_track::list, icmap_map::qb_map, qb_to_cs_error(), and icmap_track::track_type.
Referenced by icmap_init(), and wd_get_service_engine_ver0().
void* icmap_track_get_user_data | ( | icmap_track_t | icmap_track | ) |
Return user data associated with given track.
icmap_track |
Definition at line 1228 of file icmap.c.
References icmap_track::user_data.