| use crate::cvt_p; | |
| use crate::error::ErrorStack; | |
| use foreign_types::ForeignType; | |
| use openssl_macros::corresponds; | |
| foreign_type_and_impl_send_sync! { | |
| type CType = ffi::OSSL_LIB_CTX; | |
| fn drop = ffi::OSSL_LIB_CTX_free; | |
| pub struct LibCtx; | |
| pub struct LibCtxRef; | |
| } | |
| impl LibCtx { | |
| #[corresponds(OSSL_LIB_CTX_new)] | |
| pub fn new() -> Result<Self, ErrorStack> { | |
| unsafe { | |
| let ptr = cvt_p(ffi::OSSL_LIB_CTX_new())?; | |
| Ok(LibCtx::from_ptr(ptr)) | |
| } | |
| } | |
| } |