Skip to main content

openssl_sys/handwritten/
decoder.rs

1use super::super::*;
2use libc::{size_t, FILE};
3use std::ffi::{c_char, c_int, c_uchar, c_void};
4
5extern "C" {
6    pub fn OSSL_DECODER_CTX_new() -> *mut OSSL_DECODER_CTX;
7    pub fn OSSL_DECODER_CTX_free(ctx: *mut OSSL_DECODER_CTX);
8
9    pub fn OSSL_DECODER_CTX_new_for_pkey(
10        pkey: *mut *mut EVP_PKEY,
11        input_type: *const c_char,
12        input_struct: *const c_char,
13        keytype: *const c_char,
14        selection: c_int,
15        libctx: *mut OSSL_LIB_CTX,
16        propquery: *const c_char,
17    ) -> *mut OSSL_DECODER_CTX;
18
19    pub fn OSSL_DECODER_CTX_set_selection(ctx: *mut OSSL_DECODER_CTX, selection: c_int) -> c_int;
20    pub fn OSSL_DECODER_CTX_set_input_type(
21        ctx: *mut OSSL_DECODER_CTX,
22        input_type: *const c_char,
23    ) -> c_int;
24    pub fn OSSL_DECODER_CTX_set_input_structure(
25        ctx: *mut OSSL_DECODER_CTX,
26        input_structure: *const c_char,
27    ) -> c_int;
28
29    pub fn OSSL_DECODER_CTX_set_passphrase(
30        ctx: *mut OSSL_DECODER_CTX,
31        kstr: *const c_uchar,
32        klen: size_t,
33    ) -> c_int;
34    pub fn OSSL_DECODER_CTX_set_pem_password_cb(
35        ctx: *mut OSSL_DECODER_CTX,
36        cb: pem_password_cb,
37        cbarg: *mut c_void,
38    ) -> c_int;
39    pub fn OSSL_DECODER_CTX_set_passphrase_cb(
40        ctx: *mut OSSL_DECODER_CTX,
41        cb: OSSL_PASSPHRASE_CALLBACK,
42        cbarg: *mut c_void,
43    ) -> c_int;
44
45    pub fn OSSL_DECODER_from_bio(ctx: *mut OSSL_DECODER_CTX, b_in: *mut BIO) -> c_int;
46    #[cfg(not(osslconf = "OPENSSL_NO_STDIO"))]
47    pub fn OSSL_DECODER_from_fp(ctx: *mut OSSL_DECODER_CTX, fp: *mut FILE) -> c_int;
48    pub fn OSSL_DECODER_from_data(
49        ctx: *mut OSSL_DECODER_CTX,
50        pdata: *mut *const c_uchar,
51        pdata_len: *mut size_t,
52    ) -> c_int;
53}