aboutsummaryrefslogtreecommitdiff
path: root/openssl-1.1.0h/crypto/lhash/lhash_lcl.h
diff options
context:
space:
mode:
Diffstat (limited to 'openssl-1.1.0h/crypto/lhash/lhash_lcl.h')
-rw-r--r--openssl-1.1.0h/crypto/lhash/lhash_lcl.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/openssl-1.1.0h/crypto/lhash/lhash_lcl.h b/openssl-1.1.0h/crypto/lhash/lhash_lcl.h
new file mode 100644
index 0000000..01d463f
--- /dev/null
+++ b/openssl-1.1.0h/crypto/lhash/lhash_lcl.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+#include <openssl/crypto.h>
+
+struct lhash_node_st {
+ void *data;
+ struct lhash_node_st *next;
+ unsigned long hash;
+};
+
+struct lhash_st {
+ OPENSSL_LH_NODE **b;
+ OPENSSL_LH_COMPFUNC comp;
+ OPENSSL_LH_HASHFUNC hash;
+ /*
+ * some stats are updated on lookup, which callers aren't expecting to have
+ * to take an exclusive lock around. This lock protects them on platforms
+ * without atomics, and their types are int rather than unsigned long below
+ * so they can be adjusted with CRYPTO_atomic_add.
+ */
+ CRYPTO_RWLOCK *retrieve_stats_lock;
+ unsigned int num_nodes;
+ unsigned int num_alloc_nodes;
+ unsigned int p;
+ unsigned int pmax;
+ unsigned long up_load; /* load times 256 */
+ unsigned long down_load; /* load times 256 */
+ unsigned long num_items;
+ unsigned long num_expands;
+ unsigned long num_expand_reallocs;
+ unsigned long num_contracts;
+ unsigned long num_contract_reallocs;
+ int num_hash_calls;
+ int num_comp_calls;
+ unsigned long num_insert;
+ unsigned long num_replace;
+ unsigned long num_delete;
+ unsigned long num_no_delete;
+ int num_retrieve;
+ int num_retrieve_miss;
+ int num_hash_comps;
+ int error;
+};