aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/asn1.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-02-10 19:38:51 -0800
committerSteven Fackler <[email protected]>2017-02-10 19:38:51 -0800
commita1d7956f828a5208f16d49871b7c1965d21a6893 (patch)
tree651058ce347498105dfa9e3add8059c2318cc548 /openssl/src/asn1.rs
parentMerge pull request #574 from stephanbuys/macos_readme (diff)
downloadrust-openssl-a1d7956f828a5208f16d49871b7c1965d21a6893.tar.xz
rust-openssl-a1d7956f828a5208f16d49871b7c1965d21a6893.zip
Add Asn1BitString
Diffstat (limited to 'openssl/src/asn1.rs')
-rw-r--r--openssl/src/asn1.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/openssl/src/asn1.rs b/openssl/src/asn1.rs
index fd932723..0ba54440 100644
--- a/openssl/src/asn1.rs
+++ b/openssl/src/asn1.rs
@@ -93,6 +93,24 @@ impl Asn1StringRef {
}
}
+foreign_type! {
+ type CType = ffi::ASN1_BIT_STRING;
+ fn drop = ffi::ASN1_BIT_STRING_free;
+
+ pub struct Asn1BitString;
+ pub struct Asn1BitStringRef;
+}
+
+impl Asn1BitStringRef {
+ pub fn as_slice(&self) -> &[u8] {
+ unsafe { slice::from_raw_parts(ASN1_STRING_data(self.as_ptr() as *mut _), self.len()) }
+ }
+
+ pub fn len(&self) -> usize {
+ unsafe { ffi::ASN1_STRING_length(self.as_ptr() as *mut _) as usize }
+ }
+}
+
#[cfg(any(ossl101, ossl102))]
use ffi::ASN1_STRING_data;