Lines Matching refs:hashtable

133 hash_Reset(hashtable, free_data)
134 hash_tbl *hashtable;
140 bucketptr = hashtable->table;
141 for (i = 0; i < hashtable->size; i++) {
145 hashtable->bucketnum = 0;
146 hashtable->member = (hashtable->table)[0];
160 * adjust the hashcode for the size of each hashtable.
196 hash_Exists(hashtable, hashcode, compare, key)
197 hash_tbl *hashtable;
204 memberptr = (hashtable->table)[hashcode % (hashtable->size)];
228 hash_Insert(hashtable, hashcode, compare, key, element)
229 hash_tbl *hashtable;
236 hashcode %= hashtable->size;
237 if (hash_Exists(hashtable, hashcode, compare, key)) {
245 temp->next = (hashtable->table)[hashcode];
246 (hashtable->table)[hashcode] = temp;
260 hash_Delete(hashtable, hashcode, compare, key, free_data)
261 hash_tbl *hashtable;
272 hashcode %= hashtable->size;
279 memberptr = (hashtable->table)[hashcode];
281 (hashtable->table)[hashcode] = memberptr->next;
287 memberptr = (hashtable->table)[hashcode];
327 hash_Lookup(hashtable, hashcode, compare, key)
328 hash_tbl *hashtable;
335 memberptr = (hashtable->table)[hashcode % (hashtable->size)];
349 * Return the next available entry in the hashtable for a linear search
353 hash_NextEntry(hashtable)
354 hash_tbl *hashtable;
362 memberptr = hashtable->member;
364 hashtable->member = memberptr->next; /* Set up for next call */
371 bucket = hashtable->bucketnum + 1;
372 while ((bucket < hashtable->size) &&
373 !(memberptr = (hashtable->table)[bucket])) {
380 if (bucket >= hashtable->size) {
384 hashtable->bucketnum = 0;
385 hashtable->member = (hashtable->table)[0];
394 hashtable->bucketnum = bucket;
395 hashtable->member = memberptr->next; /* Set up for next call */
407 hash_FirstEntry(hashtable)
408 hash_tbl *hashtable;
410 hashtable->bucketnum = 0;
411 hashtable->member = (hashtable->table)[0];
412 return hash_NextEntry(hashtable);