Lines Matching full:hash
17 - dynamic hash table
27 LHASH_OF(TYPE) *lh_TYPE_new(OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC compare);
71 This library implements type-checked dynamic hash tables. The hash
77 arbitrary data entries, and specifies the 'hash' and 'compare'
78 callbacks to be used in organising the table's entries. The I<hash>
80 an unsigned long hash value for its key field. The hash value is
81 normally truncated to a power of 2, so make sure that your hash
83 takes two arguments (pointers to two hash table entries), and returns
86 If your hash table
87 will contain items of some particular type and the I<hash> and
88 I<compare> callbacks hash/compare these types, then the
94 * Implement the hash and compare functions; "stuff" can be any word.
117 Then a hash table of B<I<TYPE>> objects can be created using this:
124 I<table>. Allocated hash table entries will not be freed; consider
126 hash table (see below). If the argument is NULL, nothing is done.
129 entries can be added to the flushed table. Allocated hash table entries
131 remaining entries in the hash table (see below).
144 B<lh_I<TYPE>_doall>() will, for every entry in the hash table, call
154 /* Call "TYPE_cleanup" against all items in a hash table. */
157 /* Then the hash table itself can be deallocated */
168 this is demonstrated here (printing all hash table entries to a BIO
183 reason for this is that deleting an item from the hash table may result in the
184 hash table being contracted to a smaller size and rehashed.
186 undefined behaviour under these conditions, as these functions assume the hash
192 disables hash table contraction and guarantees that it will be safe to delete
193 items from a hash table during a call to B<lh_I<TYPE>_doall>() or
202 B<lh_I<TYPE>_num_items>() returns the number of items in the hash table.
205 factor used to determine when the hash table is contracted. The factor is the
206 load factor at or below which hash table contraction will occur, multiplied by
208 number of nodes. Setting this value to 0 disables hash table contraction.
228 When a hash table entry is replaced, B<lh_I<TYPE>_insert>() or
233 NULL is returned if there is no such value in the hash table.
235 B<lh_I<TYPE>_retrieve>() and OPENSSL_LH_retrieve() return the hash table entry
266 As an example, a hash table may be maintained by code that, for
268 indexed in the hash table (i.e. it is returned as "const" from