OPENSSL_SYS_WIN32 is important so util/mkdef.pl can detect it
[oweals/openssl.git] / crypto / bn / bn.h
index 7e4234339bf5c2407777584a7cc7a4e8838de0e1..1eaf8795531162bebf0a7a1518120b7e9c01f7cc 100644 (file)
@@ -89,8 +89,9 @@ extern "C" {
  * using "long long's", are 32bit, and are not using my assembler code. */
 #if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \
     defined(OPENSSL_SYS_WIN32) || defined(linux)
-#undef BN_DIV2W
-#define BN_DIV2W
+# ifndef BN_DIV2W
+#  define BN_DIV2W
+# endif
 #endif
 
 /* assuming long is 64bit - this is the DEC Alpha
@@ -135,7 +136,7 @@ extern "C" {
 #define BN_MASK2h      (0xffffffff00000000LL)
 #define BN_MASK2h1     (0xffffffff80000000LL)
 #define BN_TBIT                (0x8000000000000000LL)
-#define BN_DEC_CONV    (10000000000000000000LL)
+#define BN_DEC_CONV    (10000000000000000000ULL)
 #define BN_DEC_FMT1    "%llu"
 #define BN_DEC_FMT2    "%019llu"
 #define BN_DEC_NUM     19
@@ -321,6 +322,7 @@ void        BN_CTX_end(BN_CTX *ctx);
 int     BN_rand(BIGNUM *rnd, int bits, int top,int bottom);
 int     BN_pseudo_rand(BIGNUM *rnd, int bits, int top,int bottom);
 int    BN_rand_range(BIGNUM *rnd, BIGNUM *range);
+int    BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range);
 int    BN_num_bits(const BIGNUM *a);
 int    BN_num_bits_word(BN_ULONG);
 BIGNUM *BN_new(void);
@@ -418,7 +420,6 @@ int BN_is_prime(const BIGNUM *p,int nchecks,
 int    BN_is_prime_fasttest(const BIGNUM *p,int nchecks,
        void (*callback)(int,int,void *),BN_CTX *ctx,void *cb_arg,
        int do_trial_division);
-void   ERR_load_BN_strings(void );
 
 BN_MONT_CTX *BN_MONT_CTX_new(void );
 void BN_MONT_CTX_init(BN_MONT_CTX *ctx);
@@ -493,6 +494,7 @@ int BN_bntest_rand(BIGNUM *rnd, int bits, int top,int bottom);
 /* 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.
  */
+void ERR_load_BN_strings(void);
 
 /* Error codes for the BN functions. */