Various header consistency fixes.
diff --git a/crypto/crypto.h b/crypto/crypto.h
index 0bf74a1..dfed65b 100644
--- a/crypto/crypto.h
+++ b/crypto/crypto.h
@@ -318,6 +318,10 @@
 
 void CRYPTO_set_mem_functions();
 void CRYPTO_get_mem_functions();
+void CRYPTO_set_locked_mem_functions();
+void CRYPTO_get_locked_mem_functions();
+void *CRYPTO_malloc_locked();
+void CRYPTO_free_locked();
 void *CRYPTO_malloc();
 void *CRYPTO_realloc();
 void CRYPTO_free();
diff --git a/crypto/des/des.h b/crypto/des/des.h
index fba3d81..aaefeaa 100644
--- a/crypto/des/des.h
+++ b/crypto/des/des.h
@@ -226,6 +226,8 @@
 
 /* Extra functions from Mark Murray <mark@grondar.za> */
 void des_cblock_print_file(const des_cblock cb, FILE *fp);
+
+#ifdef FreeBSD
 /* The following functions are not in the normal unix build or the
  * SSLeay build.  When using the SSLeay build, use RAND_seed()
  * and RAND_bytes() instead. */
@@ -234,6 +236,7 @@
 void des_set_random_generator_seed(des_cblock *key);
 void des_set_sequence_number(des_cblock new_sequence_number);
 void des_generate_random_block(des_cblock *block);
+#endif
 
 #else
 
diff --git a/crypto/err/err.h b/crypto/err/err.h
index 617fce7..4860d45 100644
--- a/crypto/err/err.h
+++ b/crypto/err/err.h
@@ -263,8 +263,10 @@
 
 unsigned long ERR_get_error();
 unsigned long ERR_get_error_line();
+unsigned long ERR_get_error_line_data();
 unsigned long ERR_peek_error();
 unsigned long ERR_peek_error_line();
+unsigned long ERR_peek_error_line_data();
 void ERR_clear_error();
 char *ERR_error_string();
 char *ERR_lib_error_string();
diff --git a/crypto/pem/pem.h b/crypto/pem/pem.h
index c4098b5..c2e93bb 100644
--- a/crypto/pem/pem.h
+++ b/crypto/pem/pem.h
@@ -362,6 +362,8 @@
 int	PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
 		unsigned int *siglen, EVP_PKEY *pkey);
 
+void	ERR_load_PEM_strings(void);
+
 void	PEM_proc_type(char *buf, int type);
 void	PEM_dek_info(char *buf, const char *type, int len, char *str);
 
diff --git a/crypto/pkcs12/pkcs12.h b/crypto/pkcs12/pkcs12.h
index 4ba27db..72d1f6f 100644
--- a/crypto/pkcs12/pkcs12.h
+++ b/crypto/pkcs12/pkcs12.h
@@ -278,6 +278,7 @@
 PKCS12 *PKCS12_init();
 int PKCS12_key_gen_asc();
 int PKCS12_key_gen_uni();
+int PKCS12_PBE_keyivgen();
 int PKCS12_gen_mac();
 int PKCS12_verify_mac();
 int PKCS12_set_mac();
diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h
index 0357487..e7749af 100644
--- a/crypto/x509/x509.h
+++ b/crypto/x509/x509.h
@@ -941,6 +941,7 @@
 X509_EXTENSION *X509_EXTENSION_dup();
 X509_CRL *X509_CRL_dup();
 X509_REQ *X509_REQ_dup();
+X509_ALGOR *X509_ALGOR_dup();
 X509_NAME *X509_NAME_dup();
 X509_NAME_ENTRY *X509_NAME_ENTRY_dup();
 RSA *RSAPublicKey_dup();
diff --git a/crypto/x509v3/x509v3.h b/crypto/x509v3/x509v3.h
index b6063f1..2a5bf08 100644
--- a/crypto/x509v3/x509v3.h
+++ b/crypto/x509v3/x509v3.h
@@ -511,6 +511,21 @@
 NOTICEREF *d2i_NOTICEREF();
 void NOTICEREF_free();
 
+int i2d_CRL_DIST_POINTS();
+STACK_OF(DIST_POINT) *CRL_DIST_POINTS_new();
+void CRL_DIST_POINTS_free();
+STACK_OF(DIST_POINT) *d2i_CRL_DIST_POINTS();
+
+int i2d_DIST_POINT();
+DIST_POINT *DIST_POINT_new();
+DIST_POINT *d2i_DIST_POINT();
+void DIST_POINT_free();
+
+int i2d_DIST_POINT_NAME();
+DIST_POINT_NAME *DIST_POINT_NAME_new();
+void DIST_POINT_NAME_free();
+DIST_POINT_NAME *d2i_DIST_POINT_NAME();
+
 char * X509V3_get_string();
 STACK * X509V3_get_section();
 void X509V3_string_free();
@@ -518,6 +533,7 @@
 void X509V3_set_ctx();
 
 int X509V3_add_value();
+int X509V3_add_value_uchar();
 int X509V3_add_value_bool();
 int X509V3_add_value_int();
 char *i2s_ASN1_INTEGER();
diff --git a/ssl/ssl.h b/ssl/ssl.h
index b111f09..0fe3134 100644
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -1117,6 +1117,7 @@
 void	SSL_set_read_ahead();
 int	SSL_get_verify_mode();
 
+int	(*SSL_get_verify_callback())();
 void	SSL_set_verify();
 int	SSL_use_RSAPrivateKey();
 int	SSL_use_RSAPrivateKey_ASN1();