|
Tor 0.4.9.8
|
Go to the source code of this file.
Macros | |
| #define | DECLARE_MAP_FNS(mapname_t, keytype, prefix) |
| #define | MAP_FREE_AND_NULL(mapname_t, map, fn) |
| #define | strmap_free(map, fn) |
| #define | digestmap_free(map, fn) |
| #define | digest256map_free(map, fn) |
| #define | MAP_FOREACH(prefix, map, keytype, keyvar, valtype, valvar) |
| #define | MAP_FOREACH_MODIFY(prefix, map, keytype, keyvar, valtype, valvar) |
| #define | MAP_DEL_CURRENT(keyvar) |
| #define | MAP_FOREACH_END } STMT_END ; |
| #define | DIGESTMAP_FOREACH(map, keyvar, valtype, valvar) |
| #define | DIGESTMAP_FOREACH_MODIFY(map, keyvar, valtype, valvar) |
| #define | DIGESTMAP_FOREACH_END MAP_FOREACH_END |
| #define | DIGEST256MAP_FOREACH(map, keyvar, valtype, valvar) |
| #define | DIGEST256MAP_FOREACH_MODIFY(map, keyvar, valtype, valvar) |
| #define | DIGEST256MAP_FOREACH_END MAP_FOREACH_END |
| #define | STRMAP_FOREACH(map, keyvar, valtype, valvar) |
| #define | STRMAP_FOREACH_MODIFY(map, keyvar, valtype, valvar) |
| #define | STRMAP_FOREACH_END MAP_FOREACH_END |
| #define | DECLARE_TYPED_DIGESTMAP_FNS(prefix, mapname_t, valtype) |
Functions | |
| DECLARE_MAP_FNS (strmap_t, const char *, strmap) | |
| DECLARE_MAP_FNS (digestmap_t, const char *, digestmap) | |
| DECLARE_MAP_FNS (digest256map_t, const uint8_t *, digest256map) | |
| 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) |
| #define DECLARE_MAP_FNS | ( | mapname_t, | |
| keytype, | |||
| prefix ) |
| #define DECLARE_TYPED_DIGESTMAP_FNS | ( | prefix, | |
| mapname_t, | |||
| valtype ) |
| #define DIGEST256MAP_FOREACH | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
| #define DIGEST256MAP_FOREACH_END MAP_FOREACH_END |
| #define DIGEST256MAP_FOREACH_MODIFY | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
| #define digest256map_free | ( | map, | |
| fn ) |
| #define DIGESTMAP_FOREACH | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
As MAP_FOREACH, but does not require declaration of prefix or keytype. Example use: DIGESTMAP_FOREACH(m, k, routerinfo_t *, r) { // use k and r } DIGESTMAP_FOREACH_END.
Definition at line 154 of file map.h.
Referenced by authority_cert_get_all(), authority_cert_get_by_sk_digest(), dircollator_collate_by_ed25519(), dirserv_generate_networkstatus_vote_obj(), disk_state_update(), get_all_possible_sybil(), setup_intro_point_exclude_list(), sr_compute_srv(), sr_get_string_for_vote(), trusted_dirs_flush_certs_to_disk(), and trusted_dirs_remove_old_certs().
| #define DIGESTMAP_FOREACH_END MAP_FOREACH_END |
Used to end a DIGESTMAP_FOREACH() block.
Definition at line 168 of file map.h.
Referenced by authority_cert_get_all(), authority_cert_get_by_sk_digest(), dircollator_collate_by_ed25519(), dirserv_expire_measured_bw_cache(), dirserv_generate_networkstatus_vote_obj(), disk_state_update(), get_all_possible_sybil(), purge_ephemeral_client_auth(), remove_expired_failing_intro(), routerlist_assert_ok(), setup_intro_point_exclude_list(), sr_compute_srv(), sr_get_string_for_vote(), state_query_del_all_(), trusted_dirs_flush_certs_to_disk(), and trusted_dirs_remove_old_certs().
| #define DIGESTMAP_FOREACH_MODIFY | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
As MAP_FOREACH_MODIFY, but does not require declaration of prefix or keytype. Example use: DIGESTMAP_FOREACH_MODIFY(m, k, routerinfo_t *, r) { if (is_very_old(r)) MAP_DEL_CURRENT(k); } DIGESTMAP_FOREACH_END.
Definition at line 165 of file map.h.
Referenced by dirserv_expire_measured_bw_cache(), remove_expired_failing_intro(), and state_query_del_all_().
| #define digestmap_free | ( | map, | |
| fn ) |
| #define MAP_DEL_CURRENT | ( | keyvar | ) |
Used with MAP_FOREACH_MODIFY to remove the currently-iterated-upon member of the map.
Definition at line 140 of file map.h.
Referenced by addressmap_clear_excluded_trackexithosts(), addressmap_clear_invalid_automaps(), cache_clean_v3_as_client(), cache_clean_v3_as_dir(), cache_clean_v3_by_downloaded_as_dir(), cache_client_intro_state_clean(), cleanup_intro_points(), clear_trackexithost_mappings(), dirserv_expire_measured_bw_cache(), hs_cache_client_intro_state_clean(), hs_cache_client_intro_state_purge(), hs_cache_purge_as_client(), launch_intro_point_circuits(), purge_ephemeral_client_auth(), remove_expired_failing_intro(), and state_query_del_all_().
| #define MAP_FOREACH | ( | prefix, | |
| map, | |||
| keytype, | |||
| keyvar, | |||
| valtype, | |||
| valvar ) |
Iterates over the key-value pairs in a map map in order. prefix is as for DECLARE_MAP_FNS (i.e., strmap or digestmap). The map's keys and values are of type keytype and valtype respectively; each iteration assigns them to keyvar and valvar.
Example use: MAP_FOREACH(digestmap, m, const char *, k, routerinfo_t *, r) { // use k and r } MAP_FOREACH_END.
| #define MAP_FOREACH_END } STMT_END ; |
Used to end a MAP_FOREACH() block.
| #define MAP_FOREACH_MODIFY | ( | prefix, | |
| map, | |||
| keytype, | |||
| keyvar, | |||
| valtype, | |||
| valvar ) |
As MAP_FOREACH, except allows members to be removed from the map during the iteration via MAP_DEL_CURRENT. Example use:
Example use: MAP_FOREACH(digestmap, m, const char *, k, routerinfo_t *, r) { if (is_very_old(r)) MAP_DEL_CURRENT(k); } MAP_FOREACH_END.
| #define MAP_FREE_AND_NULL | ( | mapname_t, | |
| map, | |||
| fn ) |
| #define STRMAP_FOREACH | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
| #define STRMAP_FOREACH_END MAP_FOREACH_END |
| #define STRMAP_FOREACH_MODIFY | ( | map, | |
| keyvar, | |||
| valtype, | |||
| valvar ) |
| #define strmap_free | ( | map, | |
| fn ) |
| void * strmap_get_lc | ( | const strmap_t * | map, |
| const char * | key ) |
Same as strmap_get, but first converts key to lowercase.
Definition at line 360 of file map.c.
Referenced by addressmap_have_mapping(), addressmap_match_superdomains(), geoip_add_entry(), geoip_get_country(), networkstatus_compute_consensus(), or_state_remove_obsolete_lines(), and routerset_contains2().
| void * strmap_remove_lc | ( | strmap_t * | map, |
| const char * | key ) |
| void * strmap_set_lc | ( | strmap_t * | map, |
| const char * | key, | ||
| void * | val ) |
Same as strmap_set, but first converts key to lowercase.
Definition at line 346 of file map.c.
Referenced by geoip_add_entry(), init_geoip_countries(), networkstatus_compute_consensus(), or_state_remove_obsolete_lines(), and routerset_parse().