Home | History | Annotate | Download | only in asn1

Lines Matching defs:htab

44 static Hashentry *_search(Hashtab * htab,	/* The hash table */
52 Hashtab *htab;
57 htab = (Hashtab *) malloc(sizeof(Hashtab) + (sz - 1) * sizeof(Hashentry *));
58 if (htab == NULL)
62 htab->tab[i] = NULL;
64 htab->cmp = cmp;
65 htab->hash = hash;
66 htab->sz = sz;
67 return htab;
73 _search(Hashtab * htab, void *ptr)
77 assert(htab && ptr);
79 for (hptr = htab->tab[(*htab->hash) (ptr) % htab->sz];
82 if ((*htab->cmp) (ptr, hptr->ptr) == 0)
90 hashtabsearch(Hashtab * htab, void *ptr)
94 tmp = _search(htab, ptr);
103 hashtabadd(Hashtab * htab, void *ptr)
105 Hashentry *h = _search(htab, ptr);
108 assert(htab && ptr);
117 tabptr = &htab->tab[(*htab->hash) (ptr) % htab->sz];
131 _hashtabdel(Hashtab * htab, void *ptr, int freep)
135 assert(htab && ptr);
137 h = _search(htab, ptr);
152 hashtabforeach(Hashtab * htab, int (*func) (void *ptr, void *arg),
157 assert(htab);
159 for (h = htab->tab; h < &htab->tab[htab->sz]; ++h)