silc_hash_table_find_foreach_ext

SYNOPSIS

    void silc_hash_table_find_foreach_ext(SilcHashTable ht, void *key,
                                          SilcHashFunction hash,
                                          void *hash_user_context,
                                          SilcHashCompare compare,
                                          void *compare_user_context,
                                          SilcHashForeach foreach,
                                          void *foreach_user_context);

DESCRIPTION

As the hash table is collision resistant it is possible to save duplicate keys to the hash table. This function can be used to find all keys and contexts from the hash table that are found using the `key'. The `foreach' is called for every found key. If no entries can be found the `foreach' will be called once with the context set NULL and `key' and `user_context' sent to the function.

The `hash' and `hash_user_context' are application specified hash function. If not provided the hash table's default is used. The `compare' and `compare_user_context' are application specified comparing function. If not provided the hash table's default is used.

NOTES

The hash table will not be rehashed during the traversing of the table, even if the table was marked as auto rehashable. The caller also must not call silc_hash_table_rehash while traversing the table.