summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
02d83e6)
It doesn't help the user, since they can't use it to declare their hash
function, and it just adds a level of mental indirection for us.
void *log_private;
/* Hash function. */
void *log_private;
/* Hash function. */
+ uint64_t (*khash)(const void *key, size_t len, uint64_t seed, void *);
void *hash_priv;
uint64_t hash_seed;
void *hash_priv;
uint64_t hash_seed;
/* FIXME: Make typesafe */
typedef int (*tdb_traverse_func)(struct tdb_context *, TDB_DATA, TDB_DATA, void *);
/* FIXME: Make typesafe */
typedef int (*tdb_traverse_func)(struct tdb_context *, TDB_DATA, TDB_DATA, void *);
-typedef uint64_t (*tdb_hashfn_t)(const void *key, size_t len, uint64_t seed,
- void *priv);
enum tdb_attribute_type {
TDB_ATTRIBUTE_LOG = 0,
enum tdb_attribute_type {
TDB_ATTRIBUTE_LOG = 0,
struct tdb_attribute_hash {
struct tdb_attribute_base base; /* .attr = TDB_ATTRIBUTE_HASH */
struct tdb_attribute_hash {
struct tdb_attribute_base base; /* .attr = TDB_ATTRIBUTE_HASH */
+ uint64_t (*hash_fn)(const void *key, size_t len, uint64_t seed,
+ void *priv);