Lines Matching defs:dep
45 fmd_dispqelem_t *dep = fmd_alloc(sizeof (fmd_dispqelem_t), FMD_SLEEP);
47 dep->dq_name = fmd_strdup(name, FMD_SLEEP);
48 dep->dq_link = NULL;
49 dep->dq_hashlen = fmd.d_str_buckets;
50 dep->dq_hash = fmd_zalloc(sizeof (void *) * dep->dq_hashlen, FMD_SLEEP);
51 dep->dq_list = NULL;
52 dep->dq_refs = 0;
54 return (dep);
58 fmd_dispqelem_destroy(fmd_dispqelem_t *dep)
64 for (dlp = dep->dq_list; dlp != NULL; dlp = nlp) {
69 for (i = 0; i < dep->dq_hashlen; i++) {
70 for (p = dep->dq_hash[i]; p != NULL; p = q) {
76 fmd_free(dep->dq_hash, sizeof (void *) * dep->dq_hashlen);
77 fmd_strfree(dep->dq_name);
79 fmd_free(dep, sizeof (fmd_dispqelem_t));
83 fmd_dispqelem_lookup(fmd_dispqelem_t *dep, const char *name)
85 uint_t h = fmd_strhash(name) % dep->dq_hashlen;
87 for (dep = dep->dq_hash[h]; dep != NULL; dep = dep->dq_link) {
88 if (strcmp(dep->dq_name, name) == 0)
92 return (dep);
117 fmd_dispq_insert_one(fmd_dispqelem_t *dep, const char *name)
119 uint_t h = fmd_strhash(name) % dep->dq_hashlen;
122 for (ep = dep->dq_hash[h]; ep != NULL; ep = ep->dq_link) {
130 ep->dq_link = dep->dq_hash[h];
131 dep->dq_hash[h] = ep;
133 dep->dq_refs++;
134 ASSERT(dep->dq_refs != 0);
147 fmd_dispqelem_t *dep;
150 dep = dqp->dq_root;
153 dep = fmd_dispq_insert_one(dep, p);
155 dlp->dq_next = dep->dq_list;
158 dep->dq_list = dlp;
159 dep->dq_refs++;
160 ASSERT(dep->dq_refs != 0);
167 fmd_dispq_delete_one(fmd_dispqelem_t *dep,
173 uint_t h = fmd_strhash(patv[0]) % dep->dq_hashlen;
174 epp = &dep->dq_hash[h];
207 ASSERT(dep->dq_refs != 0);
208 dep->dq_refs--;
235 fmd_dispq_dispatch_one(fmd_dispqelem_t *dep, ulong_t *gids,
241 for (dlp = dep->dq_list; dlp != NULL; dlp = dlp->dq_next, n++) {
271 fmd_dispqelem_t *dep;
277 if ((dep = fmd_dispqelem_lookup(root, cv[0])) != NULL)
278 n += fmd_dispq_dispatchv(dep, gids, ep, class, cc - 1, cv + 1);
280 if ((dep = fmd_dispqelem_lookup(root, "*")) != NULL)
281 n += fmd_dispq_dispatchv(dep, gids, ep, class, cc - 1, cv + 1);
283 if (dep != NULL && cc > 1)
284 n += fmd_dispq_dispatch_one(dep, gids, ep, class);