- performance retunes, v8plus bn_*_comba routines are reimplemented;
[openssl.git] / crypto / bn / bn.h
index ce5a4746e4513882a2a975fd68f7bcf6b35849e6..f935e1ca79d7f1699d56cfbbdd5fadb09b26df84 100644 (file)
@@ -142,7 +142,7 @@ extern "C" {
 #endif
 
 #ifdef THIRTY_TWO_BIT
-#ifdef WIN32
+#if defined(WIN32) && !defined(__GNUC__)
 #define BN_ULLONG      unsigned _int64
 #else
 #define BN_ULLONG      unsigned long long
@@ -323,9 +323,9 @@ void        BN_init(BIGNUM *);
 void   BN_clear_free(BIGNUM *a);
 BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
 BIGNUM *BN_bin2bn(const unsigned char *s,int len,BIGNUM *ret);
-int    BN_bn2bin(BIGNUM *a, unsigned char *to);
+int    BN_bn2bin(const BIGNUM *a, unsigned char *to);
 BIGNUM *BN_mpi2bn(unsigned char *s,int len,BIGNUM *ret);
-int    BN_bn2mpi(BIGNUM *a, unsigned char *to);
+int    BN_bn2mpi(const BIGNUM *a, unsigned char *to);
 int    BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 int    BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 int    BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
@@ -375,10 +375,10 @@ BIGNUM *BN_dup(const BIGNUM *a);
 int    BN_ucmp(const BIGNUM *a, const BIGNUM *b);
 int    BN_set_bit(BIGNUM *a, int n);
 int    BN_clear_bit(BIGNUM *a, int n);
-char * BN_bn2hex(BIGNUM *a);
-char * BN_bn2dec(BIGNUM *a);
-int    BN_hex2bn(BIGNUM **a,char *str);
-int    BN_dec2bn(BIGNUM **a,char *str);
+char * BN_bn2hex(const BIGNUM *a);
+char * BN_bn2dec(const BIGNUM *a);
+int    BN_hex2bn(BIGNUM **a, const char *str);
+int    BN_dec2bn(BIGNUM **a, const char *str);
 int    BN_gcd(BIGNUM *r,BIGNUM *in_a,BIGNUM *in_b,BN_CTX *ctx);
 BIGNUM *BN_mod_inverse(BIGNUM *ret,BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
 BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int strong,BIGNUM *add,