diff --git a/include/rtti/typeinfo.h b/include/rtti/typeinfo.h index 0b89707..c845489 100644 --- a/include/rtti/typeinfo.h +++ b/include/rtti/typeinfo.h @@ -149,15 +149,15 @@ typedef struct { /* key to id table */ -typedef int (*key_add_fn_t)(meta_obj_t*, uint64_t*, void*); +typedef int (*key_add_fn_t)(meta_obj_t*, void*, void*); typedef int (*key_del_fn_t)(meta_obj_t*, void*); -typedef uint64_t (*key_find_fn_t)(meta_obj_t*, uint64_t*, void*); +typedef uint64_t (*key_find_fn_t)(meta_obj_t*, void*, void**); typedef struct { key_add_fn_t add_key; key_del_fn_t del_key; key_find_fn_t find_key; -} intf_key2id_t; +} intf_kv_t; typedef struct { intf_lock_t* lock; @@ -167,7 +167,7 @@ typedef struct { intf_hash_t* hash; intf_length_t* length; intf_bitmap_t* bitmap; - intf_key2id_t* key2id; + intf_kv_t* kv; } interface_table_t; struct typeinfo_ { @@ -214,8 +214,8 @@ extern int bit_set(var, unsigned long); extern int bit_clr(var, unsigned long); extern int bit_clrall(var); -extern int key_add(var, uint64_t*, void*); +extern int key_add(var, void*, void*); extern int key_del(var, void*); -extern int key_find(var, uint64_t*, void*); +extern int key_find(var, void*, void**); #endif diff --git a/src/key2id.c b/src/kv.c similarity index 72% rename from src/key2id.c rename to src/kv.c index 756acd4..a14eb8a 100644 --- a/src/key2id.c +++ b/src/kv.c @@ -4,7 +4,7 @@ #include "rtti.h" -int key_add(var v, uint64_t* id, void* key) +int key_add(var v, void* key, void* value) { meta_obj_t* obj = NULL; key_add_fn_t method = NULL; @@ -14,12 +14,12 @@ int key_add(var v, uint64_t* id, void* key) return -EINVAL; } - RTTI_GET_METHOD(method, obj, key2id, add_key); + RTTI_GET_METHOD(method, obj, kv, add_key); if (method == NULL) { return -EINVAL; } - return method(obj, id, key); + return method(obj, key, value); } int key_del(var v, void* key) @@ -32,7 +32,7 @@ int key_del(var v, void* key) return -EINVAL; } - RTTI_GET_METHOD(method, obj, key2id, del_key); + RTTI_GET_METHOD(method, obj, kv, del_key); if (method == NULL) { return -EINVAL; } @@ -40,7 +40,7 @@ int key_del(var v, void* key) return method(obj, key); } -int key_find(var v, uint64_t* id, void* key) +int key_find(var v, void* key, void** value) { meta_obj_t* obj = NULL; key_find_fn_t method = NULL; @@ -50,10 +50,10 @@ int key_find(var v, uint64_t* id, void* key) return -EINVAL; } - RTTI_GET_METHOD(method, obj, key2id, find_key); + RTTI_GET_METHOD(method, obj, kv, find_key); if (method == NULL) { return -EINVAL; } - return method(obj, id, key); + return method(obj, key, value); } diff --git a/src/meson.build b/src/meson.build index 84ca67f..6f129a7 100644 --- a/src/meson.build +++ b/src/meson.build @@ -10,7 +10,7 @@ librtti_c_srcs=[ 'hash.c', 'length.c', 'bitmap.c', - 'key2id.c', + 'kv.c', ]