Lines Matching +defs:src +defs:hash
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
154 * This is the lookup table for the hash tables that dacf manages. Given an
155 * op id and devspec type, one can obtain the hash for that type of data.
172 static void dacf_opset_copy(dacf_opset_t *dst, dacf_opset_t *src);
197 * initialize the dacf framework by creating the various hash tables.
231 * Set up a hash table with no key destructor. The
238 hbuf, /* hash name */
239 DACF_RULE_HASHSIZE, /* # hash elems */
242 mod_hash_bystr, NULL, /* hash alg & data */
253 dacf_module_hash = mod_hash_create_strhash("dacf module hash",
262 dacf_info_hash = mod_hash_create_ptrhash("dacf info hash",
315 mod_hash_t *hash;
327 * Fetch the hash table associated with this op-name and devspec-type.
329 * meaningless, so hash may be null.
331 hash = dacf_get_op_hash(opid, devspec_type);
332 if (hash == NULL) {
345 if (mod_hash_insert(hash, (mod_hash_key_t)rule->r_devspec_data,
573 * devspec-type, return the hash that represents that op indexed
595 * present in the hash.
724 * it into the module hash. If that fails, we've had a
727 * hash only partly filled in, since dm_lock protects the
869 dacf_opset_copy(dacf_opset_t *dst, dacf_opset_t *src)
872 ASSERT(src && dst);
876 dst->opset_name = kmem_alloc(strlen(src->opset_name) + 1, KM_SLEEP);
877 (void) strcpy(dst->opset_name, src->opset_name);
882 if ((src->opset_ops[nelems].op_id == DACF_OPID_END) ||
883 (src->opset_ops[nelems].op_func == NULL)) {
895 dst->opset_ops[i].op_id = src->opset_ops[i].op_id;
896 dst->opset_ops[i].op_func = src->opset_ops[i].op_func;
934 * provided operations, __kernel will be found in the hash table, and
952 * If we're here, either: 1) it's not in the hash, or 2) it is,
1259 * the info entry out of the hash.
1266 * for memory in this hash, so it is safe to ignore the retval.