sha1-x86_64.pl: harmonize Win64 SE handlers for SIMD code pathes.
[openssl.git] / crypto / rand / rand_err.c
index 6ffa1c4f25da4a9f3cff0cda202f4d0ee448ece0..a435b0bfa6f6b1f3a06211a5d377e6217d5025e0 100644 (file)
@@ -1,6 +1,6 @@
 /* crypto/rand/rand_err.c */
 /* ====================================================================
- * Copyright (c) 1999 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2010 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 /* BEGIN ERROR CODES */
 #ifndef OPENSSL_NO_ERR
+
+#define ERR_FUNC(func) ERR_PACK(ERR_LIB_RAND,func,0)
+#define ERR_REASON(reason) ERR_PACK(ERR_LIB_RAND,0,reason)
+
 static ERR_STRING_DATA RAND_str_functs[]=
        {
-{ERR_PACK(0,RAND_F_SSLEAY_RAND_BYTES,0),       "SSLEAY_RAND_BYTES"},
+{ERR_FUNC(RAND_F_FIPS_RAND),   "FIPS_RAND"},
+{ERR_FUNC(RAND_F_FIPS_RAND_SET_DT),    "FIPS_RAND_SET_DT"},
+{ERR_FUNC(RAND_F_FIPS_SET_PRNG_SEED),  "FIPS_SET_PRNG_SEED"},
+{ERR_FUNC(RAND_F_FIPS_SET_TEST_MODE),  "FIPS_SET_TEST_MODE"},
+{ERR_FUNC(RAND_F_FIPS_X931_SET_DT),    "FIPS_x931_set_dt"},
+{ERR_FUNC(RAND_F_RAND_GET_RAND_METHOD),        "RAND_get_rand_method"},
+{ERR_FUNC(RAND_F_SSLEAY_RAND_BYTES),   "SSLEAY_RAND_BYTES"},
 {0,NULL}
        };
 
 static ERR_STRING_DATA RAND_str_reasons[]=
        {
-{RAND_R_PRNG_NOT_SEEDED                  ,"PRNG not seeded"},
+{ERR_REASON(RAND_R_NOT_IN_TEST_MODE)     ,"not in test mode"},
+{ERR_REASON(RAND_R_NO_KEY_SET)           ,"no key set"},
+{ERR_REASON(RAND_R_PRNG_ERROR)           ,"prng error"},
+{ERR_REASON(RAND_R_PRNG_KEYED)           ,"prng keyed"},
+{ERR_REASON(RAND_R_PRNG_NOT_SEEDED)      ,"PRNG not seeded"},
+{ERR_REASON(RAND_R_PRNG_SEED_MUST_NOT_MATCH_KEY),"prng seed must not match key"},
+{ERR_REASON(RAND_R_PRNG_STUCK)           ,"prng stuck"},
 {0,NULL}
        };
 
@@ -80,15 +96,12 @@ static ERR_STRING_DATA RAND_str_reasons[]=
 
 void ERR_load_RAND_strings(void)
        {
-       static int init=1;
-
-       if (init)
-               {
-               init=0;
 #ifndef OPENSSL_NO_ERR
-               ERR_load_strings(ERR_LIB_RAND,RAND_str_functs);
-               ERR_load_strings(ERR_LIB_RAND,RAND_str_reasons);
-#endif
 
+       if (ERR_func_error_string(RAND_str_functs[0].error) == NULL)
+               {
+               ERR_load_strings(0,RAND_str_functs);
+               ERR_load_strings(0,RAND_str_reasons);
                }
+#endif
        }