Unexport more of lhash.
There is also no need to make the struct public. Also tidy up includes a
bit.
Change-Id: I188848dfd8f9ed42925b2c55da8dc4751c29f146
Reviewed-on: https://boringssl-review.googlesource.com/22126
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: Steven Valdez <svaldez@google.com>
diff --git a/crypto/ex_data.c b/crypto/ex_data.c
index af7e7e2..71d60a5 100644
--- a/crypto/ex_data.c
+++ b/crypto/ex_data.c
@@ -113,7 +113,6 @@
#include <openssl/crypto.h>
#include <openssl/err.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/stack.h>
#include <openssl/thread.h>
diff --git a/crypto/lhash/lhash.c b/crypto/lhash/lhash.c
index 5054529..7bfd289 100644
--- a/crypto/lhash/lhash.c
+++ b/crypto/lhash/lhash.c
@@ -73,6 +73,25 @@
static const size_t kMaxAverageChainLength = 2;
static const size_t kMinAverageChainLength = 1;
+struct lhash_st {
+ // num_items contains the total number of items in the hash table.
+ size_t num_items;
+ // buckets is an array of |num_buckets| pointers. Each points to the head of
+ // a chain of LHASH_ITEM objects that have the same hash value, mod
+ // |num_buckets|.
+ LHASH_ITEM **buckets;
+ // num_buckets contains the length of |buckets|. This value is always >=
+ // kMinNumBuckets.
+ size_t num_buckets;
+ // callback_depth contains the current depth of |lh_doall| or |lh_doall_arg|
+ // calls. If non-zero then this suppresses resizing of the |buckets| array,
+ // which would otherwise disrupt the iteration.
+ unsigned callback_depth;
+
+ lhash_cmp_func comp;
+ lhash_hash_func hash;
+};
+
_LHASH *lh_new(lhash_hash_func hash, lhash_cmp_func comp) {
_LHASH *ret = OPENSSL_malloc(sizeof(_LHASH));
if (ret == NULL) {
diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c
index 018c5d1..635b851 100644
--- a/crypto/x509/by_dir.c
+++ b/crypto/x509/by_dir.c
@@ -61,7 +61,6 @@
#include <openssl/buf.h>
#include <openssl/err.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/thread.h>
#include <openssl/x509.h>
diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
index 2bec572..555cb85 100644
--- a/crypto/x509/by_file.c
+++ b/crypto/x509/by_file.c
@@ -59,7 +59,6 @@
#include <openssl/buf.h>
#include <openssl/err.h>
-#include <openssl/lhash.h>
#include <openssl/pem.h>
#include <openssl/thread.h>
diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c
index 1014a05..1a841db 100644
--- a/crypto/x509/x509_lu.c
+++ b/crypto/x509/x509_lu.c
@@ -58,7 +58,6 @@
#include <string.h>
#include <openssl/err.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/thread.h>
#include <openssl/x509.h>
diff --git a/crypto/x509/x509_obj.c b/crypto/x509/x509_obj.c
index f9f0308..65b1bfb 100644
--- a/crypto/x509/x509_obj.c
+++ b/crypto/x509/x509_obj.c
@@ -59,7 +59,6 @@
#include <openssl/buf.h>
#include <openssl/err.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/obj.h>
#include <openssl/x509.h>
diff --git a/crypto/x509/x509_txt.c b/crypto/x509/x509_txt.c
index 17e6cdb..753e720 100644
--- a/crypto/x509/x509_txt.c
+++ b/crypto/x509/x509_txt.c
@@ -54,13 +54,7 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.] */
-#include <openssl/asn1.h>
-#include <openssl/buf.h>
-#include <openssl/cipher.h>
-#include <openssl/evp.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
-#include <openssl/obj.h>
#include <openssl/x509.h>
const char *X509_verify_cert_error_string(long n)
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index 8e258fe..aff2ee9 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -61,7 +61,6 @@
#include <openssl/buf.h>
#include <openssl/err.h>
#include <openssl/evp.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/obj.h>
#include <openssl/thread.h>
diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c
index 2317214..d0f8f79 100644
--- a/crypto/x509/x509_vpm.c
+++ b/crypto/x509/x509_vpm.c
@@ -57,7 +57,6 @@
#include <string.h>
#include <openssl/buf.h>
-#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/obj.h>
#include <openssl/stack.h>
diff --git a/include/openssl/lhash.h b/include/openssl/lhash.h
index 7525c08..1ceeb69 100644
--- a/include/openssl/lhash.h
+++ b/include/openssl/lhash.h
@@ -125,24 +125,7 @@
// uint32_t.
typedef uint32_t (*lhash_hash_func)(const void *a);
-typedef struct lhash_st {
- // num_items contains the total number of items in the hash table.
- size_t num_items;
- // buckets is an array of |num_buckets| pointers. Each points to the head of
- // a chain of LHASH_ITEM objects that have the same hash value, mod
- // |num_buckets|.
- LHASH_ITEM **buckets;
- // num_buckets contains the length of |buckets|. This value is always >=
- // kMinNumBuckets.
- size_t num_buckets;
- // callback_depth contains the current depth of |lh_doall| or |lh_doall_arg|
- // calls. If non-zero then this suppresses resizing of the |buckets| array,
- // which would otherwise disrupt the iteration.
- unsigned callback_depth;
-
- lhash_cmp_func comp;
- lhash_hash_func hash;
-} _LHASH;
+typedef struct lhash_st _LHASH;
// lh_new returns a new, empty hash table or NULL on error.
OPENSSL_EXPORT _LHASH *lh_new(lhash_hash_func hash, lhash_cmp_func comp);
diff --git a/include/openssl/x509_vfy.h b/include/openssl/x509_vfy.h
index 991cbda..208a380 100644
--- a/include/openssl/x509_vfy.h
+++ b/include/openssl/x509_vfy.h
@@ -64,8 +64,6 @@
#ifndef HEADER_X509_VFY_H
#define HEADER_X509_VFY_H
-#include <openssl/bio.h>
-#include <openssl/lhash.h>
#include <openssl/thread.h>
#ifdef __cplusplus
diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h
index dd56bbc..abd52c0 100644
--- a/include/openssl/x509v3.h
+++ b/include/openssl/x509v3.h
@@ -57,6 +57,7 @@
#include <openssl/bio.h>
#include <openssl/conf.h>
+#include <openssl/lhash.h>
#include <openssl/x509.h>
#ifdef __cplusplus