70,037
社区成员
发帖
与我相关
我的任务
分享
typedef uint32_t hash_val_t;
#define HASH_VAL_MAX ((hash_val_t)(~0))
typedef int (*hash_comp_t)(const void*, size_t, const void*, size_t);
typedef hash_val_t (*hash_fun_t)(const void *, size_t len);
typedef int (*data_construct_t)(void **);
typedef int (*data_destroy_t)(void *);
typedef struct zfs_hsnode_t zfs_hsnode_t;
typedef struct zfs_hashs_t zfs_hashs_t;
struct zfs_hsnode_t{
zfs_hsnode_t *next;
void *key;
size_t key_len;
void *data;
hash_val_t hkey;
};
struct zfs_hashs_t{
int is_dynamic;
zfs_hsnode_t **table;
hash_val_t nchains;
hash_val_t node_count;
hash_val_t max_count;
hash_val_t high_mark;
hash_val_t low_mark;
hash_val_t mask;
hash_val_t init_size;
/*callback functions*/
hash_comp_t key_comp;
hash_fun_t hkey_generator;
data_construct_t constructor;
data_destroy_t destroy;
};
typedef uint32_t hash_val_t;
#define HASH_VAL_MAX ((hash_val_t)(~0))
typedef int (*hash_comp_t)(const void*, size_t, const void*, size_t);
typedef hash_val_t (*hash_fun_t)(const void *, size_t len);
typedef int (*data_construct_t)(void **);
typedef int (*data_destroy_t)(void *);
typedef struct zfs_hsnode_t zfs_hsnode_t;
typedef struct zfs_hashs_t zfs_hashs_t;
struct zfs_hsnode_t{
zfs_hsnode_t *next;
void *key;
size_t key_len;
void *data;
hash_val_t hkey;
};
struct zfs_hashs_t{
int is_dynamic;
zfs_hsnode_t **table;
hash_val_t nchains;
hash_val_t node_count;
hash_val_t max_count;
hash_val_t high_mark;
hash_val_t low_mark;
hash_val_t mask;
hash_val_t init_size;
/*callback functions*/
hash_comp_t key_comp;
hash_fun_t hkey_generator;
data_construct_t constructor;
data_destroy_t destroy;
};