aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src/asn1.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2018-09-12 20:02:40 -0700
committerGitHub <[email protected]>2018-09-12 20:02:40 -0700
commita29c789e5769169bc338d2ea4773603b674edc9d (patch)
tree2f3c49b218a501b7ec549a1f1fdfeaa37a0186df /openssl-sys/src/asn1.rs
parentBump to 1.1.1 release (diff)
parentRefactor openssl-sys (diff)
downloadrust-openssl-a29c789e5769169bc338d2ea4773603b674edc9d.tar.xz
rust-openssl-a29c789e5769169bc338d2ea4773603b674edc9d.zip
Merge pull request #990 from sfackler/one-sys-mod
Refactor openssl-sys
Diffstat (limited to 'openssl-sys/src/asn1.rs')
-rw-r--r--openssl-sys/src/asn1.rs61
1 files changed, 61 insertions, 0 deletions
diff --git a/openssl-sys/src/asn1.rs b/openssl-sys/src/asn1.rs
new file mode 100644
index 00000000..9cf321ea
--- /dev/null
+++ b/openssl-sys/src/asn1.rs
@@ -0,0 +1,61 @@
+use libc::*;
+
+use *;
+
+pub const V_ASN1_UTCTIME: c_int = 23;
+pub const V_ASN1_GENERALIZEDTIME: c_int = 24;
+
+pub const MBSTRING_FLAG: c_int = 0x1000;
+pub const MBSTRING_UTF8: c_int = MBSTRING_FLAG;
+pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1;
+pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2;
+pub const MBSTRING_UNIV: c_int = MBSTRING_FLAG | 4;
+
+#[repr(C)]
+pub struct ASN1_ENCODING {
+ pub enc: *mut c_uchar,
+ pub len: c_long,
+ pub modified: c_int,
+}
+
+extern "C" {
+ pub fn ASN1_OBJECT_free(x: *mut ASN1_OBJECT);
+}
+
+stack!(stack_st_ASN1_OBJECT);
+
+extern "C" {
+ pub fn ASN1_STRING_type_new(ty: c_int) -> *mut ASN1_STRING;
+ #[cfg(any(ossl110, libressl273))]
+ pub fn ASN1_STRING_get0_data(x: *const ASN1_STRING) -> *const c_uchar;
+ #[cfg(any(all(ossl101, not(ossl110)), libressl))]
+ pub fn ASN1_STRING_data(x: *mut ASN1_STRING) -> *mut c_uchar;
+
+ pub fn ASN1_BIT_STRING_free(x: *mut ASN1_BIT_STRING);
+
+ pub fn ASN1_STRING_free(x: *mut ASN1_STRING);
+ pub fn ASN1_STRING_length(x: *const ASN1_STRING) -> c_int;
+
+ pub fn ASN1_GENERALIZEDTIME_free(tm: *mut ASN1_GENERALIZEDTIME);
+ pub fn ASN1_GENERALIZEDTIME_print(b: *mut BIO, tm: *const ASN1_GENERALIZEDTIME) -> c_int;
+ pub fn ASN1_TIME_free(tm: *mut ASN1_TIME);
+ pub fn ASN1_TIME_print(b: *mut BIO, tm: *const ASN1_TIME) -> c_int;
+
+ pub fn ASN1_INTEGER_free(x: *mut ASN1_INTEGER);
+ pub fn ASN1_INTEGER_get(dest: *const ASN1_INTEGER) -> c_long;
+ pub fn ASN1_INTEGER_set(dest: *mut ASN1_INTEGER, value: c_long) -> c_int;
+ pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
+ pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
+}
+
+cfg_if! {
+ if #[cfg(ossl110)] {
+ extern "C" {
+ pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *const ASN1_STRING) -> c_int;
+ }
+ } else {
+ extern "C" {
+ pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *mut ASN1_STRING) -> c_int;
+ }
+ }
+}