eb4a1a3f65fe10c7a1212595f04578c95fa48626
[openssl.git] / crypto / lhash / lhash_lcl.h
1 /*
2  * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10
11 struct lhash_node_st {
12     void *data;
13     struct lhash_node_st *next;
14     unsigned long hash;
15 };
16
17 struct lhash_st {
18     OPENSSL_LH_NODE **b;
19     OPENSSL_LH_COMPFUNC comp;
20     OPENSSL_LH_HASHFUNC hash;
21     unsigned int num_nodes;
22     unsigned int num_alloc_nodes;
23     unsigned int p;
24     unsigned int pmax;
25     unsigned long up_load;      /* load times 256 */
26     unsigned long down_load;    /* load times 256 */
27     unsigned long num_items;
28     unsigned long num_expands;
29     unsigned long num_expand_reallocs;
30     unsigned long num_contracts;
31     unsigned long num_contract_reallocs;
32     unsigned long num_hash_calls;
33     unsigned long num_comp_calls;
34     unsigned long num_insert;
35     unsigned long num_replace;
36     unsigned long num_delete;
37     unsigned long num_no_delete;
38     unsigned long num_retrieve;
39     unsigned long num_retrieve_miss;
40     unsigned long num_hash_comps;
41     int error;
42 };