rust-secp256k1-unsafe-fast/src/ffi.rs

36 lines
1.4 KiB
Rust
Raw Normal View History

//! FFI bindings
use libc::{c_int, c_uchar};
#[link(name = "secp256k1")]
extern "C" {
pub fn secp256k1_start();
pub fn secp256k1_stop();
pub fn secp256k1_ecdsa_verify(msg: *const c_uchar, msg_len: c_int,
sig: *const c_uchar, sig_len: c_int,
pk: *const c_uchar, pk_len: c_int)
-> c_int;
pub fn secp256k1_ecdsa_pubkey_create(pk: *mut c_uchar, pk_len : *mut c_int,
sk: *const c_uchar, compressed: c_int)
-> c_int;
pub fn secp256k1_ecdsa_sign(msg: *const c_uchar, msg_len: c_int,
sig: *mut c_uchar, sig_len: *mut c_int,
sk: *const c_uchar, nonce: *const c_uchar)
-> c_int;
pub fn secp256k1_ecdsa_sign_compact(msg: *const c_uchar, msg_len: c_int,
sig64: *mut c_uchar, sk: *const c_uchar,
nonce: *const c_uchar, recid: *mut c_int)
-> c_int;
pub fn secp256k1_ecdsa_recover_compact(msg: *const c_uchar, msg_len: c_int,
sig64: *const c_uchar, pk: *mut c_uchar,
pk_len: *mut c_int, compressed: c_int,
recid: c_int) -> c_int;
}