Skip to main content

openssl_sys/handwritten/
encoder.rs

1use super::super::*;
2use libc::{size_t, FILE};
3use std::ffi::{c_char, c_int, c_uchar, c_void};
4
5#[cfg(ossl300)]
6extern "C" {
7    pub fn OSSL_ENCODER_CTX_new() -> *mut OSSL_ENCODER_CTX;
8    pub fn OSSL_ENCODER_CTX_free(ctx: *mut OSSL_ENCODER_CTX);
9
10    pub fn OSSL_ENCODER_CTX_new_for_pkey(
11        pkey: *const EVP_PKEY,
12        selection: c_int,
13        output_type: *const c_char,
14        output_structure: *const c_char,
15        propquery: *const c_char,
16    ) -> *mut OSSL_ENCODER_CTX;
17
18    pub fn OSSL_ENCODER_CTX_set_selection(ctx: *mut OSSL_ENCODER_CTX, selection: c_int) -> c_int;
19    pub fn OSSL_ENCODER_CTX_set_output_type(
20        ctx: *mut OSSL_ENCODER_CTX,
21        output_type: *const c_char,
22    ) -> c_int;
23    pub fn OSSL_ENCODER_CTX_set_output_structure(
24        ctx: *mut OSSL_ENCODER_CTX,
25        output_structure: *const c_char,
26    ) -> c_int;
27
28    pub fn OSSL_ENCODER_CTX_set_cipher(
29        ctx: *mut OSSL_ENCODER_CTX,
30        cipher_name: *const c_char,
31        propquery: *const c_char,
32    ) -> c_int;
33    pub fn OSSL_ENCODER_CTX_set_passphrase(
34        ctx: *mut OSSL_ENCODER_CTX,
35        kstr: *const c_uchar,
36        klen: size_t,
37    ) -> c_int;
38    pub fn OSSL_ENCODER_CTX_set_pem_password_cb(
39        ctx: *mut OSSL_ENCODER_CTX,
40        cb: pem_password_cb,
41        cbarg: *mut c_void,
42    ) -> c_int;
43    pub fn OSSL_ENCODER_CTX_set_passphrase_cb(
44        ctx: *mut OSSL_ENCODER_CTX,
45        cb: OSSL_PASSPHRASE_CALLBACK,
46        cbarg: *mut c_void,
47    ) -> c_int;
48
49    pub fn OSSL_ENCODER_to_data(
50        ctx: *mut OSSL_ENCODER_CTX,
51        pdata: *mut *mut c_uchar,
52        pdata_len: *mut size_t,
53    ) -> c_int;
54    pub fn OSSL_ENCODER_to_bio(ctx: *mut OSSL_ENCODER_CTX, out: *mut BIO) -> c_int;
55    #[cfg(not(osslconf = "OPENSSL_NO_STDIO"))]
56    pub fn OSSL_ENCODER_to_fp(ctx: *mut OSSL_ENCODER_CTX, fp: *mut FILE) -> c_int;
57}