Move all FIPSAPI renames into fips.h header file, include early in
crypto.h if needed.

Modify source tree to handle change.
diff --git a/fips/des/fips_desmovs.c b/fips/des/fips_desmovs.c
index 6766d1c..2debcee 100644
--- a/fips/des/fips_desmovs.c
+++ b/fips/des/fips_desmovs.c
@@ -83,8 +83,8 @@
 
 #else
 
-#include <openssl/fips.h>
 #include "fips_utl.h"
+#include <openssl/fips.h>
 
 #define DES_BLOCK_SIZE 8
 
diff --git a/fips/dsa/fips_dssvs.c b/fips/dsa/fips_dssvs.c
index 513df72..4610557 100644
--- a/fips/dsa/fips_dssvs.c
+++ b/fips/dsa/fips_dssvs.c
@@ -1,3 +1,5 @@
+
+#define OPENSSL_FIPSAPI
 #include <openssl/opensslconf.h>
 
 #ifndef OPENSSL_FIPS
@@ -10,8 +12,6 @@
 }
 #else
 
-#define OPENSSL_FIPSAPI
-
 #include <openssl/bn.h>
 #include <openssl/dsa.h>
 #include <openssl/fips.h>
diff --git a/fips/fips.h b/fips/fips.h
index 5452db9..a49611d 100644
--- a/fips/fips.h
+++ b/fips/fips.h
@@ -60,6 +60,7 @@
 #endif
 
 struct dsa_st;
+struct rsa_st;
 struct evp_pkey_st;
 struct env_md_st;
 struct evp_cipher_st;
@@ -108,18 +109,41 @@
 void fips_set_selftest_fail(void);
 int fips_check_rsa(struct rsa_st *rsa);
 
-void FIPS_lock(int mode, int type,const char *file,int line);
-
-void FIPS_set_locking_callback (void (*func)(int mode, int type,
+void FIPS_set_locking_callback(void (*func)(int mode, int type,
 				const char *file,int line));
 
-void *FIPS_malloc(int num, const char *file, int line);
-void FIPS_free(void *);
+/* Where necessary redirect standard OpenSSL APIs to FIPS versions */
 
 #if defined(OPENSSL_FIPSCANISTER) && defined(OPENSSL_FIPSAPI)
+
 #define CRYPTO_lock FIPS_lock
 #define CRYPTO_malloc FIPS_malloc
 #define CRYPTO_free FIPS_free
+
+#define EVP_MD_CTX_init FIPS_md_ctx_init
+#define EVP_MD_CTX_cleanup FIPS_md_ctx_cleanup
+#define EVP_MD_CTX_create FIPS_md_ctx_create
+#define EVP_MD_CTX_destroy FIPS_md_ctx_destroy
+#define EVP_DigestInit_ex(ctx, type, impl) FIPS_digestinit(ctx, type)
+#define EVP_DigestInit FIPS_digestinit
+#define EVP_DigestUpdate FIPS_digestupdate
+#define EVP_Digest(data, count, md, size, type, impl) \
+			FIPS_digest(data, count, md, size, type)
+#define EVP_DigestFinal_ex FIPS_digestfinal
+#define EVP_MD_CTX_copy_ex FIPS_md_ctx_copy
+
+#define EVP_CipherInit_ex(ctx, cipher, impl, key, iv, enc) \
+				FIPS_cipherinit(ctx, cipher, key, iv, enc)
+
+#define EVP_CipherInit FIPS_cipherinit
+
+#define EVP_CIPHER_CTX_init FIPS_cipher_ctx_init
+#define EVP_CIPHER_CTX_cleanup FIPS_cipher_ctx_cleanup
+#define EVP_Cipher FIPS_cipher
+#define EVP_CIPHER_CTX_ctrl FIPS_cipher_ctx_ctrl
+#define EVP_CIPHER_CTX_new FIPS_cipher_ctx_new
+#define EVP_CIPHER_CTX_free FIPS_cipher_ctx_free
+
 #endif
 
 /* BEGIN ERROR CODES */
diff --git a/fips/fips_utl.h b/fips/fips_utl.h
index 76ae4f8..eccc8dd 100644
--- a/fips/fips_utl.h
+++ b/fips/fips_utl.h
@@ -48,7 +48,6 @@
  */
 
 #define OPENSSL_FIPSAPI
-#include <openssl/fips.h>
 
 int hex2bin(const char *in, unsigned char *out);
 unsigned char *hex2bin_m(const char *in, long *plen);
diff --git a/fips/hmac/fips_hmactest.c b/fips/hmac/fips_hmactest.c
index 8c51fe5..af6ce29 100644
--- a/fips/hmac/fips_hmactest.c
+++ b/fips/hmac/fips_hmactest.c
@@ -56,6 +56,8 @@
  *
  */
 
+#define OPENSSL_FIPSAPI
+
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
@@ -77,6 +79,7 @@
 
 #else
 
+#include <openssl/fips.h>
 #include "fips_utl.h"
 
 static int hmac_test(const EVP_MD *md, FILE *out, FILE *in);
diff --git a/fips/rand/fips_randtest.c b/fips/rand/fips_randtest.c
index 31c51d3..b211a03 100644
--- a/fips/rand/fips_randtest.c
+++ b/fips/rand/fips_randtest.c
@@ -103,6 +103,8 @@
  *
  */
 
+#define OPENSSL_FIPSAPI
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -125,8 +127,8 @@
 
 #define OPENSSL_FIPSAPI
 
-#include <openssl/fips.h>
 #include "fips_utl.h"
+#include <openssl/fips.h>
 
 typedef struct
 	{
diff --git a/fips/rand/fips_rngvs.c b/fips/rand/fips_rngvs.c
index 2d198c7..972acce 100644
--- a/fips/rand/fips_rngvs.c
+++ b/fips/rand/fips_rngvs.c
@@ -7,6 +7,9 @@
  * Validation System (RNGVS)", May 25, 2004.
  *
  */
+
+#define OPENSSL_FIPSAPI
+
 #include <openssl/opensslconf.h>
 
 #ifndef OPENSSL_FIPS
diff --git a/fips/utl/fips_mem.c b/fips/utl/fips_mem.c
index d8f197b..3d5c907 100644
--- a/fips/utl/fips_mem.c
+++ b/fips/utl/fips_mem.c
@@ -51,6 +51,8 @@
  * ====================================================================
  */
 
+#define OPENSSL_FIPSAPI
+
 #include <openssl/err.h>
 #include <openssl/fips.h>