Hash-table implementations of a string-to-void* map, and of a digest-to-void* map.
More...
|
#define | DEFINE_MAP_STRUCTS(maptype, keydecl, prefix) |
|
#define | strmap_entry_free(ent) FREE_AND_NULL(strmap_entry_t, strmap_entry_free_, (ent)) |
|
#define | digestmap_entry_free(ent) FREE_AND_NULL(digestmap_entry_t, digestmap_entry_free_, (ent)) |
|
#define | digest256map_entry_free(ent) FREE_AND_NULL(digest256map_entry_t, digest256map_entry_free_, (ent)) |
|
#define | IMPLEMENT_MAP_FNS(maptype, keytype, prefix) |
|
|
| DEFINE_MAP_STRUCTS (strmap_t, char *key, strmap_) |
|
| DEFINE_MAP_STRUCTS (digestmap_t, char key[DIGEST_LEN], digestmap_) |
|
| DEFINE_MAP_STRUCTS (digest256map_t, uint8_t key[DIGEST256_LEN], digest256map_) |
|
static int | strmap_entries_eq (const strmap_entry_t *a, const strmap_entry_t *b) |
|
static unsigned int | strmap_entry_hash (const strmap_entry_t *a) |
|
static int | digestmap_entries_eq (const digestmap_entry_t *a, const digestmap_entry_t *b) |
|
static unsigned int | digestmap_entry_hash (const digestmap_entry_t *a) |
|
static int | digest256map_entries_eq (const digest256map_entry_t *a, const digest256map_entry_t *b) |
|
static unsigned int | digest256map_entry_hash (const digest256map_entry_t *a) |
|
| HT_PROTOTYPE (strmap_impl, strmap_entry_t, node, strmap_entry_hash, strmap_entries_eq) |
|
| HT_GENERATE2 (strmap_impl, strmap_entry_t, node, strmap_entry_hash, strmap_entries_eq, 0.6, tor_reallocarray_, tor_free_) |
|
| HT_PROTOTYPE (digestmap_impl, digestmap_entry_t, node, digestmap_entry_hash, digestmap_entries_eq) |
|
| HT_GENERATE2 (digestmap_impl, digestmap_entry_t, node, digestmap_entry_hash, digestmap_entries_eq, 0.6, tor_reallocarray_, tor_free_) |
|
| HT_PROTOTYPE (digest256map_impl, digest256map_entry_t, node, digest256map_entry_hash, digest256map_entries_eq) |
|
| HT_GENERATE2 (digest256map_impl, digest256map_entry_t, node, digest256map_entry_hash, digest256map_entries_eq, 0.6, tor_reallocarray_, tor_free_) |
|
static void | strmap_entry_free_ (strmap_entry_t *ent) |
|
static void | digestmap_entry_free_ (digestmap_entry_t *ent) |
|
static void | digest256map_entry_free_ (digest256map_entry_t *ent) |
|
static void | strmap_assign_tmp_key (strmap_entry_t *ent, const char *key) |
|
static void | digestmap_assign_tmp_key (digestmap_entry_t *ent, const char *key) |
|
static void | digest256map_assign_tmp_key (digest256map_entry_t *ent, const uint8_t *key) |
|
static void | strmap_assign_key (strmap_entry_t *ent, const char *key) |
|
static void | digestmap_assign_key (digestmap_entry_t *ent, const char *key) |
|
static void | digest256map_assign_key (digest256map_entry_t *ent, const uint8_t *key) |
|
void * | strmap_set_lc (strmap_t *map, const char *key, void *val) |
|
void * | strmap_get_lc (const strmap_t *map, const char *key) |
|
void * | strmap_remove_lc (strmap_t *map, const char *key) |
|
Hash-table implementations of a string-to-void* map, and of a digest-to-void* map.
Definition in file map.c.