Go to the source code of this file.
Data Structures | |
struct | hashed_object_t |
struct | hash_bucket |
struct | hash_table |
struct | named_hash |
Defines | |
#define | DEFAULT_HASH_SIZE 9973 |
#define | KEY_HASH_SIZE 1009 |
#define | HASH_FUNCTIONS_DECL(name, bufarg, type, hashtype) |
#define | HASH_FUNCTIONS(name, bufarg, type, hashtype, ref, deref, hasher) |
Typedefs | |
typedef isc_result_t(* | hash_foreach_func )(const void *, unsigned, void *) |
typedef int(* | hash_reference )(hashed_object_t **, hashed_object_t *, const char *, int) |
typedef int(* | hash_dereference )(hashed_object_t **, const char *, int) |
typedef int(* | hash_comparator_t )(const void *, const void *, size_t) |
Functions | |
void | relinquish_hash_bucket_hunks (void) |
int | new_hash_table (struct hash_table **, unsigned, const char *, int) |
void | free_hash_table (struct hash_table **, const char *, int) |
struct hash_bucket * | new_hash_bucket (const char *, int) |
void | free_hash_bucket (struct hash_bucket *, const char *, int) |
int | new_hash (struct hash_table **, hash_reference, hash_dereference, unsigned, unsigned(*do_hash)(const void *, unsigned, unsigned), const char *, int) |
unsigned | do_string_hash (const void *, unsigned, unsigned) |
unsigned | do_case_hash (const void *, unsigned, unsigned) |
unsigned | do_id_hash (const void *, unsigned, unsigned) |
unsigned | do_number_hash (const void *, unsigned, unsigned) |
unsigned | do_ip4_hash (const void *, unsigned, unsigned) |
unsigned char * | hash_report (struct hash_table *) |
void | add_hash (struct hash_table *, const void *, unsigned, hashed_object_t *, const char *, int) |
void | delete_hash_entry (struct hash_table *, const void *, unsigned, const char *, int) |
int | hash_lookup (hashed_object_t **, struct hash_table *, const void *, unsigned, const char *, int) |
int | hash_foreach (struct hash_table *, hash_foreach_func) |
int | casecmp (const void *s, const void *t, size_t len) |
#define HASH_FUNCTIONS | ( | name, | |||
bufarg, | |||||
type, | |||||
hashtype, | |||||
ref, | |||||
deref, | |||||
hasher | ) |
#define HASH_FUNCTIONS_DECL | ( | name, | |||
bufarg, | |||||
type, | |||||
hashtype | ) |
void name##_hash_add (hashtype *, bufarg, unsigned, type *, \ const char *, int); \ void name##_hash_delete (hashtype *, bufarg, unsigned, \ const char *, int); \ int name##_hash_lookup (type **, hashtype *, bufarg, unsigned, \ const char *, int); \ unsigned char * name##_hash_report(hashtype *); \ int name##_hash_foreach (hashtype *, hash_foreach_func); \ int name##_new_hash (hashtype **, unsigned, const char *, int); \ void name##_free_hash_table (hashtype **, const char *, int);
typedef int(* hash_comparator_t)(const void *, const void *, size_t) |
typedef int(* hash_dereference)(hashed_object_t **, const char *, int) |
typedef isc_result_t(* hash_foreach_func)(const void *, unsigned, void *) |
typedef int(* hash_reference)(hashed_object_t **, hashed_object_t *, const char *, int) |
void add_hash | ( | struct hash_table * | , | |
const void * | , | |||
unsigned | , | |||
hashed_object_t * | , | |||
const char * | , | |||
int | ||||
) |
void delete_hash_entry | ( | struct hash_table * | , | |
const void * | , | |||
unsigned | , | |||
const char * | , | |||
int | ||||
) |
unsigned do_number_hash | ( | const void * | , | |
unsigned | , | |||
unsigned | ||||
) |
unsigned do_string_hash | ( | const void * | , | |
unsigned | , | |||
unsigned | ||||
) |
void free_hash_bucket | ( | struct hash_bucket * | , | |
const char * | , | |||
int | ||||
) |
void free_hash_table | ( | struct hash_table ** | , | |
const char * | , | |||
int | ||||
) |
int hash_foreach | ( | struct hash_table * | , | |
hash_foreach_func | ||||
) |
int hash_lookup | ( | hashed_object_t ** | , | |
struct hash_table * | , | |||
const void * | , | |||
unsigned | , | |||
const char * | , | |||
int | ||||
) |
unsigned char* hash_report | ( | struct hash_table * | ) |
int new_hash | ( | struct hash_table ** | , | |
hash_reference | , | |||
hash_dereference | , | |||
unsigned | , | |||
unsigned(*)(const void *, unsigned, unsigned) | do_hash, | |||
const char * | , | |||
int | ||||
) |
struct hash_bucket* new_hash_bucket | ( | const char * | , | |
int | ||||
) | [read] |
int new_hash_table | ( | struct hash_table ** | , | |
unsigned | , | |||
const char * | , | |||
int | ||||
) |
void relinquish_hash_bucket_hunks | ( | void | ) |