21 #define CNE_HASH_ENTRIES_MAX (1 << 30)
24 #define CNE_HASH_NAMESIZE 32
27 #define CNE_HASH_LOOKUP_BULK_MAX 64
28 #define CNE_HASH_LOOKUP_MULTI_MAX CNE_HASH_LOOKUP_BULK_MAX
31 #define CNE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT 0x01
34 #define CNE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD 0x02
37 #define CNE_HASH_EXTRA_FLAGS_RW_CONCURRENCY 0x04
40 #define CNE_HASH_EXTRA_FLAGS_EXT_TABLE 0x08
47 #define CNE_HASH_EXTRA_FLAGS_NO_FREE_ON_DEL 0x10
52 #define CNE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF 0x20
61 typedef uint32_t (*
cne_hash_function)(
const void *key, uint32_t key_len, uint32_t init_val);
484 uint64_t *hit_mask,
void *data[]);
510 uint32_t num_keys, int32_t *positions);
534 hash_sig_t *sig, uint32_t num_keys, uint64_t *hit_mask,
int32_t cne_hash_iterate(const struct cne_hash *h, const void **key, void **data, uint32_t *next)
int cne_hash_lookup_with_hash_data(const struct cne_hash *h, const void *key, hash_sig_t sig, void **data)
int(* cne_hash_cmp_eq_t)(const void *key1, const void *key2, size_t key_len)
int cne_hash_free_key_with_position(const struct cne_hash *h, const int32_t position)
int cne_hash_lookup_data(const struct cne_hash *h, const void *key, void **data)
void cne_hash_free(struct cne_hash *h)
struct cne_hash * cne_hash_create(const struct cne_hash_parameters *params)
int32_t cne_hash_count(const struct cne_hash *h)
int32_t cne_hash_add_key_with_hash(const struct cne_hash *h, const void *key, hash_sig_t sig)
int cne_hash_lookup_bulk(const struct cne_hash *h, const void **keys, uint32_t num_keys, int32_t *positions)
struct cne_hash * cne_hash_find_existing(const char *name)
int32_t cne_hash_max_key_id(const struct cne_hash *h)
uint32_t(* cne_hash_function)(const void *key, uint32_t key_len, uint32_t init_val)
int32_t cne_hash_del_key(const struct cne_hash *h, const void *key)
void cne_hash_set_cmp_func(struct cne_hash *h, cne_hash_cmp_eq_t func)
int cne_hash_lookup_with_hash_bulk_data(const struct cne_hash *h, const void **keys, hash_sig_t *sig, uint32_t num_keys, uint64_t *hit_mask, void *data[])
void cne_hash_reset(struct cne_hash *h)
int cne_hash_add_key_data(const struct cne_hash *h, const void *key, void *data)
int32_t cne_hash_lookup(const struct cne_hash *h, const void *key)
int cne_hash_lookup_with_hash_bulk(const struct cne_hash *h, const void **keys, hash_sig_t *sig, uint32_t num_keys, int32_t *positions)
int cne_hash_get_key_with_position(const struct cne_hash *h, const int32_t position, void **key)
hash_sig_t cne_hash_hash(const struct cne_hash *h, const void *key)
int32_t cne_hash_del_key_with_hash(const struct cne_hash *h, const void *key, hash_sig_t sig)
int cne_hash_lookup_bulk_data(const struct cne_hash *h, const void **keys, uint32_t num_keys, uint64_t *hit_mask, void *data[])
int32_t cne_hash_add_key(const struct cne_hash *h, const void *key)
int32_t cne_hash_add_key_with_hash_data(const struct cne_hash *h, const void *key, hash_sig_t sig, void *data)
int32_t cne_hash_lookup_with_hash(const struct cne_hash *h, const void *key, hash_sig_t sig)
uint32_t hash_func_init_val
cne_hash_function hash_func
char name[CNE_HASH_NAMESIZE]