2 * Copyright (C) 2009 Brian Aker
5 * Use and distribution licensed under the BSD license. See
6 * the COPYING file in the parent directory for full text.
11 * @brief HashKit Header
14 #ifndef HASHKIT_BEHAVIOR_H
15 #define HASHKIT_BEHAVIORH
23 hashkit_return_t
hashkit_behavior_set_distribution(hashkit_st
*hashkit
, hashkit_distribution_t distribution
);
26 hashkit_distribution_t
hashkit_behavior_get_distribution(hashkit_st
*hashkit
);
29 hashkit_return_t
hashkit_behavior_set_key_hash_algorithm(hashkit_st
*hashkit
, hashkit_hash_algorithm_t hash_algorithm
);
32 hashkit_hash_algorithm_t
hashkit_behavior_get_key_hash_algorithm(hashkit_st
*hashkit
);
35 void hashkit_behavior_set_active_fn(hashkit_st
*hash
, hashkit_active_fn
*function
);
38 hashkit_active_fn
* hashkit_behavior_get_active_fn(hashkit_st
*hash
);
41 void hashkit_behavior_set_continuum_hash_fn(hashkit_st
*hash
, hashkit_fn
*function
);
44 hashkit_fn
* hashkit_behavior_get_continuum_hash_fn(hashkit_st
*hash
);
47 void hashkit_behavior_set_continuum_key_fn(hashkit_st
*hash
, hashkit_key_fn
*function
);
50 hashkit_key_fn
* hashkit_behavior_get_continuum_key_fn(hashkit_st
*hash
);
53 void hashkit_behavior_set_sort_fn(hashkit_st
*hash
, hashkit_sort_fn
*function
);
56 hashkit_sort_fn
* hashkit_behavior_get_sort_fn(hashkit_st
*hash
);
59 void hashkit_behavior_set_weight_fn(hashkit_st
*hash
, hashkit_weight_fn
*function
);
62 hashkit_weight_fn
* hashkit_behavior_get_weight_fn(hashkit_st
*hash
);
68 #endif /* HASHKIT_BEHAVIOR_H */