Lines Matching refs:shp
58 fmd_serd_hash_create(fmd_serd_hash_t *shp)
60 shp->sh_hashlen = fmd.d_str_buckets;
61 shp->sh_hash = fmd_zalloc(sizeof (void *) * shp->sh_hashlen, FMD_SLEEP);
62 shp->sh_count = 0;
66 fmd_serd_hash_destroy(fmd_serd_hash_t *shp)
71 for (i = 0; i < shp->sh_hashlen; i++) {
72 for (sgp = shp->sh_hash[i]; sgp != NULL; sgp = ngp) {
78 fmd_free(shp->sh_hash, sizeof (void *) * shp->sh_hashlen);
79 bzero(shp, sizeof (fmd_serd_hash_t));
83 fmd_serd_hash_apply(fmd_serd_hash_t *shp, fmd_serd_eng_f *func, void *arg)
88 for (i = 0; i < shp->sh_hashlen; i++) {
89 for (sgp = shp->sh_hash[i]; sgp != NULL; sgp = sgp->sg_next)
95 fmd_serd_hash_count(fmd_serd_hash_t *shp)
97 return (shp->sh_count);
101 fmd_serd_hash_contains(fmd_serd_hash_t *shp, fmd_event_t *ep)
106 for (i = 0; i < shp->sh_hashlen; i++) {
107 for (sgp = shp->sh_hash[i]; sgp != NULL; sgp = sgp->sg_next) {
119 fmd_serd_eng_insert(fmd_serd_hash_t *shp,
122 uint_t h = fmd_strhash(name) % shp->sh_hashlen;
125 sgp->sg_next = shp->sh_hash[h];
126 shp->sh_hash[h] = sgp;
127 shp->sh_count++;
133 fmd_serd_eng_lookup(fmd_serd_hash_t *shp, const char *name)
135 uint_t h = fmd_strhash(name) % shp->sh_hashlen;
138 for (sgp = shp->sh_hash[h]; sgp != NULL; sgp = sgp->sg_next) {
147 fmd_serd_eng_delete(fmd_serd_hash_t *shp, const char *name)
149 uint_t h = fmd_strhash(name) % shp->sh_hashlen;
150 fmd_serd_eng_t *sgp, **pp = &shp->sh_hash[h];
162 ASSERT(shp->sh_count != 0);
163 shp->sh_count--;