The first of many changes to make OpenSSL 1.0.1 FIPS capable.
[oweals/openssl.git] / crypto / err / err.h
index 006351d5e3046f6f47bd19f2b0c26bf517a43e9c..3d71e4212e4c4cb2ed4b9a86fa241b129b59d5bb 100644 (file)
@@ -137,6 +137,12 @@ extern "C" {
 #define ERR_PUT_error(a,b,c,d,e)       ERR_put_error(a,b,c,NULL,0)
 #endif
 
+#ifdef OPENSSL_FIPS
+void FIPS_set_error_callbacks(
+       void (*put_cb)(int lib, int func,int reason,const char *file,int line),
+       void (*add_cb)(int num, va_list args) );
+#endif
+
 #include <errno.h>
 
 #define ERR_TXT_MALLOCED       0x01
@@ -197,6 +203,7 @@ typedef struct err_state_st
 #define ERR_LIB_CMS            46
 #define ERR_LIB_TS             47
 #define ERR_LIB_HMAC           48
+#define ERR_LIB_JPAKE          49
 
 #define ERR_LIB_USER           128
 
@@ -232,6 +239,7 @@ typedef struct err_state_st
 #define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__)
 #define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__)
 #define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__)
+#define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__)
 
 /* Borland C seems too stupid to be able to shift and do longs in
  * the pre-processor :-( */
@@ -342,8 +350,9 @@ void ERR_print_errors_fp(FILE *fp);
 #endif
 #ifndef OPENSSL_NO_BIO
 void ERR_print_errors(BIO *bp);
-void ERR_add_error_data(int num, ...);
 #endif
+void ERR_add_error_data(int num, ...);
+void ERR_add_error_vdata(int num, va_list args);
 void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
 void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
 void ERR_load_ERR_strings(void);