15#ifndef ZEPHYR_INCLUDE_SYS_HASHMAP_API_H_ 
   16#define ZEPHYR_INCLUDE_SYS_HASHMAP_API_H_ 
   82typedef void *(*sys_hashmap_allocator_t)(
void *
ptr, 
size_t new_size);
 
  215#define SYS_HASHMAP_CONFIG(_max_size, _load_factor)                                                \ 
  217                .max_size = (size_t)_max_size, .load_factor = (uint8_t)_load_factor,               \ 
  218                .initial_n_buckets = NHPOT(DIV_ROUND_UP(100, _load_factor)),                   \ 
static bool sys_hashmap_iterator_has_next(const struct sys_hashmap_iterator *it)
Check if a Hashmap iterator has a next entry.
Definition: hash_map_api.h:66
 
void(* sys_hashmap_callback_t)(uint64_t key, uint64_t value, void *cookie)
Callback interface for sys_hashmap.
Definition: hash_map_api.h:104
 
bool(* sys_hashmap_remove_t)(struct sys_hashmap *map, uint64_t key, uint64_t *value)
Remove an entry from a sys_hashmap.
Definition: hash_map_api.h:147
 
bool(* sys_hashmap_get_t)(const struct sys_hashmap *map, uint64_t key, uint64_t *value)
Get a value from a sys_hashmap.
Definition: hash_map_api.h:161
 
void(* sys_hashmap_clear_t)(struct sys_hashmap *map, sys_hashmap_callback_t cb, void *cookie)
Clear all entries contained in a sys_hashmap.
Definition: hash_map_api.h:115
 
int(* sys_hashmap_insert_t)(struct sys_hashmap *map, uint64_t key, uint64_t value, uint64_t *old_value)
Insert a new entry into a sys_hashmap.
Definition: hash_map_api.h:132
 
void(* sys_hashmap_iterator_t)(const struct sys_hashmap *map, struct sys_hashmap_iterator *it)
In-place iterator constructor for sys_hashmap.
Definition: hash_map_api.h:92
 
struct region_map map[]
Definition: main.c:35
 
void * ptr
Definition: printk.c:120
 
static k_spinlock_key_t key
Definition: spinlock_error_case.c:15
 
#define bool
Definition: stdbool.h:13
 
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
Generic Hashmap API.
Definition: hash_map_api.h:173
 
sys_hashmap_iterator_t iter
Definition: hash_map_api.h:174
 
sys_hashmap_remove_t remove
Definition: hash_map_api.h:177
 
sys_hashmap_clear_t clear
Definition: hash_map_api.h:175
 
sys_hashmap_insert_t insert
Definition: hash_map_api.h:176
 
sys_hashmap_get_t get
Definition: hash_map_api.h:178
 
Generic Hashmap configuration.
Definition: hash_map_api.h:201
 
uint8_t initial_n_buckets
Definition: hash_map_api.h:204
 
uint8_t load_factor
Definition: hash_map_api.h:203
 
size_t max_size
Definition: hash_map_api.h:202
 
Generic Hashmap data.
Definition: hash_map_api.h:230
 
size_t n_buckets
Definition: hash_map_api.h:232
 
size_t size
Definition: hash_map_api.h:233
 
void * buckets
Definition: hash_map_api.h:231
 
Generic Hashmap iterator interface.
Definition: hash_map_api.h:49
 
size_t pos
Definition: hash_map_api.h:56
 
const struct sys_hashmap * map
Definition: hash_map_api.h:50
 
void * state
Definition: hash_map_api.h:52
 
const size_t size
Definition: hash_map_api.h:55
 
uint64_t key
Definition: hash_map_api.h:53
 
void(* next)(struct sys_hashmap_iterator *it)
Definition: hash_map_api.h:51
 
uint64_t value
Definition: hash_map_api.h:54
 
Generic Hashmap.
Definition: hash_map.h:130