Lines Matching defs:table

37  * Provides a generic hash table with chaining.
51 * A hash table element
61 * The hash table
67 DAPL_HASH_ELEM *table;
74 * the number of entries in the whole hash table, as
76 * ignores empty buckets, giving us data on overall table
82 uint64_t hash_tbl_max; /* max in entire table */
83 uint64_t hash_tbl_total; /* total in table */
98 /* datum value in empty table slots (use 0UL or ~0UL as appropriate) */
106 &((p_table)->table)[DAPL_DOHASH(in_key, (p_table)->tbl_size)]; \
166 * Add a new key to the hash table
169 * table, key and datum to be added
224 if (NO_DATUM(p_table->table[hashValue].datum)) {
228 p_table->table[hashValue].key = key;
229 p_table->table[hashValue].datum = datum;
230 p_table->table[hashValue].next_element = 0;
244 for (lastelement = &p_table->table[hashValue];
347 * Create a new hash table with at least 'table_size' hash buckets.
363 /* Allocate hash table */
371 /* Init hash table, allocate and init and buckets */
374 p_table->table = (DAPL_HASH_ELEM *)dapl_os_alloc(table_length);
375 if (NULL == p_table->table) {
386 p_table->table[i].datum = NO_DATUM_VALUE;
387 p_table->table[i].key = 0;
388 p_table->table[i].next_element = 0;
399 * Destroy a hash table
405 dapl_os_assert(p_table && p_table->table);
408 dapl_os_free(p_table->table,
417 * Returns the number of elements stored in the table
434 * Inserts the specified data into the table with the given key.
518 "dapls_hash_remove () called on empty hash table!\n");
526 if (dapl_hash_delete_element(&p_table->table[hashValue], key, p_data)) {
536 * Iterates through the entire hash table return one element at a time.
557 /* the hash table is empty */
565 curr = &p_table->table[p_table->iterator_bucket];
609 curr = &p_table->table[p_table->iterator_bucket];