aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src/dsa.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2018-09-08 21:13:15 -0700
committerSteven Fackler <[email protected]>2018-09-12 19:21:18 -0700
commit93a4e96255744363b80603e821e94b551621fbd8 (patch)
tree1c1e77369f63d55738a5cbeea65d2d7c515d2971 /openssl-sys/src/dsa.rs
parentclean up example (diff)
downloadrust-openssl-93a4e96255744363b80603e821e94b551621fbd8.tar.xz
rust-openssl-93a4e96255744363b80603e821e94b551621fbd8.zip
Refactor openssl-sys
The old layout tried to structure itself by version but it ended up with a lot of duplication. Instead, follow the structure of the header files.
Diffstat (limited to 'openssl-sys/src/dsa.rs')
-rw-r--r--openssl-sys/src/dsa.rs66
1 files changed, 66 insertions, 0 deletions
diff --git a/openssl-sys/src/dsa.rs b/openssl-sys/src/dsa.rs
new file mode 100644
index 00000000..12c141e1
--- /dev/null
+++ b/openssl-sys/src/dsa.rs
@@ -0,0 +1,66 @@
+use libc::*;
+
+use *;
+
+extern "C" {
+ pub fn DSA_new() -> *mut DSA;
+ pub fn DSA_free(dsa: *mut DSA);
+ pub fn DSA_size(dsa: *const DSA) -> c_int;
+ pub fn DSA_sign(
+ dummy: c_int,
+ dgst: *const c_uchar,
+ len: c_int,
+ sigret: *mut c_uchar,
+ siglen: *mut c_uint,
+ dsa: *mut DSA,
+ ) -> c_int;
+ pub fn DSA_verify(
+ dummy: c_int,
+ dgst: *const c_uchar,
+ len: c_int,
+ sigbuf: *const c_uchar,
+ siglen: c_int,
+ dsa: *mut DSA,
+ ) -> c_int;
+
+ pub fn d2i_DSAPublicKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long) -> *mut DSA;
+ pub fn d2i_DSAPrivateKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long)
+ -> *mut DSA;
+
+ pub fn DSA_generate_parameters_ex(
+ dsa: *mut DSA,
+ bits: c_int,
+ seed: *const c_uchar,
+ seed_len: c_int,
+ counter_ref: *mut c_int,
+ h_ret: *mut c_ulong,
+ cb: *mut BN_GENCB,
+ ) -> c_int;
+
+ pub fn DSA_generate_key(dsa: *mut DSA) -> c_int;
+ pub fn i2d_DSAPublicKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
+ pub fn i2d_DSAPrivateKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
+
+ #[cfg(any(ossl110, libressl273))]
+ pub fn DSA_get0_pqg(
+ d: *const DSA,
+ p: *mut *const BIGNUM,
+ q: *mut *const BIGNUM,
+ q: *mut *const BIGNUM,
+ );
+ #[cfg(any(ossl110, libressl273))]
+ pub fn DSA_set0_pqg(
+ d: *mut DSA,
+ p: *mut BIGNUM,
+ q: *mut BIGNUM,
+ q: *mut BIGNUM,
+ ) -> c_int;
+ #[cfg(any(ossl110, libressl273))]
+ pub fn DSA_get0_key(
+ d: *const DSA,
+ pub_key: *mut *const BIGNUM,
+ priv_key: *mut *const BIGNUM,
+ );
+ #[cfg(any(ossl110, libressl273))]
+ pub fn DSA_set0_key(d: *mut DSA, pub_key: *mut BIGNUM, priv_key: *mut BIGNUM) -> c_int;
+}