aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'openssl-sys/src/lib.rs')
-rw-r--r--openssl-sys/src/lib.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 1fdd5580..df38215d 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -88,6 +88,13 @@ pub struct BIGNUM {
impl Copy for BIGNUM {}
+#[repr(C)]
+pub struct BIGNUM_PTR {
+ pub ptr: *mut BIGNUM,
+}
+
+impl Copy for BIGNUM_PTR {}
+
pub type CRYPTO_EX_new = extern "C" fn(parent: *mut c_void, ptr: *mut c_void,
ad: *const CRYPTO_EX_DATA, idx: c_int,
argl: c_long, argp: *const c_void) -> c_int;
@@ -268,6 +275,7 @@ extern "C" {
pub fn BN_mod_sub(r: *mut BIGNUM, a: *mut BIGNUM, b: *mut BIGNUM, m: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
pub fn BN_mul(r: *mut BIGNUM, a: *mut BIGNUM, b: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
pub fn BN_nnmod(rem: *mut BIGNUM, a: *mut BIGNUM, m: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn BN_mod_word(r: *mut BIGNUM, w: c_ulong) -> c_ulong;
pub fn BN_sqr(r: *mut BIGNUM, a: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
pub fn BN_sub(r: *mut BIGNUM, a: *mut BIGNUM, b: *mut BIGNUM) -> c_int;
@@ -300,9 +308,14 @@ extern "C" {
pub fn BN_bin2bn(s: *const u8, size: c_int, ret: *mut BIGNUM) -> *mut BIGNUM;
pub fn BN_bn2bin(a: *mut BIGNUM, to: *mut u8) -> c_int;
- /* Conversion from/to string representation */
+ /* Conversion from/to decimal string representation */
+ pub fn BN_dec2bn(a: *mut BIGNUM_PTR, s: *const i8) -> c_int;
pub fn BN_bn2dec(a: *mut BIGNUM) -> *const c_char;
+ /* Conversion from/to hexidecimal string representation */
+ pub fn BN_hex2bn(a: *mut BIGNUM_PTR, s: *const i8) -> c_int;
+ pub fn BN_bn2hex(a: *mut BIGNUM) -> *const c_char;
+
pub fn CRYPTO_num_locks() -> c_int;
pub fn CRYPTO_set_locking_callback(func: extern "C" fn(mode: c_int,
n: c_int,