X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fcrypto.h;h=3a43803a1ed34fffa3362d52c7e4ecdfa6c590fd;hp=5089c658826409687040c8d77fcae0b2711c6d28;hb=a69c0a1be5c619a74c02fcef05be6142d4700f62;hpb=8c02119e391a6b723da94ade51a7bf085130fc55 diff --git a/crypto/crypto.h b/crypto/crypto.h index 5089c65882..3a43803a1e 100644 --- a/crypto/crypto.h +++ b/crypto/crypto.h @@ -125,6 +125,11 @@ #include #endif +/* Get FIPS renames if needed */ +#if defined(OPENSSL_FIPSCANISTER) && defined(OPENSSL_FIPSAPI) +#include +#endif + #include #include #include @@ -138,6 +143,16 @@ one way or another */ #include +/* For FIPS mode rename all OpenSSL symbols to avoid clashes with a + * non-FIPS OpenSSL. + */ + +#if defined(OPENSSL_FIPSCANISTER) +# include +#else +# define __fips_constseg +#endif + #ifdef __cplusplus extern "C" { #endif @@ -488,10 +503,10 @@ void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), long (**go)(void)); void *CRYPTO_malloc_locked(int num, const char *file, int line); -void CRYPTO_free_locked(void *); +void CRYPTO_free_locked(void *ptr); void *CRYPTO_malloc(int num, const char *file, int line); char *CRYPTO_strdup(const char *str, const char *file, int line); -void CRYPTO_free(void *); +void CRYPTO_free(void *ptr); void *CRYPTO_realloc(void *addr,int num, const char *file, int line); void *CRYPTO_realloc_clean(void *addr,int old_num,int num,const char *file, int line); @@ -547,6 +562,18 @@ unsigned int *OPENSSL_ia32cap_loc(void); #define OPENSSL_ia32cap ((OPENSSL_ia32cap_loc())[0]) int OPENSSL_isservice(void); +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); + +/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It + * takes an amount of time dependent on |len|, but independent of the contents + * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a + * defined order as the return value when a != b is undefined, other than to be + * non-zero. */ +int CRYPTO_memcmp(const void *a, const void *b, size_t len); + /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. @@ -562,11 +589,13 @@ void ERR_load_CRYPTO_strings(void); #define CRYPTO_F_CRYPTO_SET_EX_DATA 102 #define CRYPTO_F_DEF_ADD_INDEX 104 #define CRYPTO_F_DEF_GET_CLASS 105 +#define CRYPTO_F_FIPS_MODE_SET 109 #define CRYPTO_F_INT_DUP_EX_DATA 106 #define CRYPTO_F_INT_FREE_EX_DATA 107 #define CRYPTO_F_INT_NEW_EX_DATA 108 /* Reason codes. */ +#define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 #define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 #ifdef __cplusplus