mod_hash
mp->mod_hash = mhp;
fmd_modhash_t *mod_hash; /* containing namespace (ro) */
mod_hash_t *mod_hash;
if ((mod_hash = kmem_zalloc(MH_SIZE(nchains), sleep)) == NULL)
mod_hash->mh_name = kmem_alloc(strlen(hname) + 1, sleep);
if (mod_hash->mh_name == NULL) {
kmem_free(mod_hash, MH_SIZE(nchains));
(void) strcpy(mod_hash->mh_name, hname);
mod_hash->mh_sleep = sleep;
mod_hash->mh_nchains = nchains;
mod_hash->mh_kdtor = kdtor;
mod_hash->mh_vdtor = vdtor;
mod_hash->mh_hashalg = hash_alg;
mod_hash->mh_hashalg_data = hash_alg_data;
mod_hash->mh_keycmp = keycmp;
rw_init(&mod_hash->mh_contents, NULL, RW_DEFAULT, NULL);
mod_hash->mh_next = mh_head;
mh_head = mod_hash;
return (mod_hash);
struct mod_hash;
typedef struct mod_hash mod_hash_t;
struct mod_hash *mh_next; /* next hash in list */