Function 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.
|