Skip to content

sys/evp: set/get params bindings #2436

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 11, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions openssl-sys/src/handwritten/evp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -669,3 +669,70 @@ extern "C" {
pub fn EVP_EncodeBlock(dst: *mut c_uchar, src: *const c_uchar, src_len: c_int) -> c_int;
pub fn EVP_DecodeBlock(dst: *mut c_uchar, src: *const c_uchar, src_len: c_int) -> c_int;
}

cfg_if! {
if #[cfg(ossl300)] {
extern "C" {
pub fn EVP_PKEY_gettable_params(pkey: *const EVP_PKEY) -> *const OSSL_PARAM;
pub fn EVP_PKEY_get_params(pkey: *const EVP_PKEY, params: *mut OSSL_PARAM) -> c_int;
pub fn EVP_PKEY_get_int_param(
pkey: *const EVP_PKEY,
key_name: *const c_char,
out: *mut c_int,
) -> c_int;
pub fn EVP_PKEY_get_size_t_param(
pkey: *const EVP_PKEY,
key_name: *const c_char,
out: *mut size_t,
) -> c_int;
pub fn EVP_PKEY_get_bn_param(
pkey: *const EVP_PKEY,
key_name: *const c_char,
out: *mut *mut BIGNUM,
) -> c_int;
pub fn EVP_PKEY_get_utf8_string_param(
pkey: *const EVP_PKEY,
key_name: *const c_char,
str: *mut c_char,
max_buf_sz: size_t,
out_len: *mut size_t,
) -> c_int;
pub fn EVP_PKEY_get_octet_string_param(
pkey: *const EVP_PKEY,
key_name: *const c_char,
buf: *mut c_uchar,
max_buf_sz: size_t,
out_len: *mut size_t,
) -> c_int;

pub fn EVP_PKEY_settable_params(pkey: *const EVP_PKEY) -> *const OSSL_PARAM;
pub fn EVP_PKEY_set_params(pkey: *mut EVP_PKEY, params: *mut OSSL_PARAM) -> c_int;
pub fn EVP_PKEY_set_int_param(
pkey: *mut EVP_PKEY,
key_name: *const c_char,
in_val: c_int,
) -> c_int;
pub fn EVP_PKEY_set_size_t_param(
pkey: *mut EVP_PKEY,
key_name: *const c_char,
in_val: size_t,
) -> c_int;
pub fn EVP_PKEY_set_bn_param(
pkey: *mut EVP_PKEY,
key_name: *const c_char,
bn: *const BIGNUM,
) -> c_int;
pub fn EVP_PKEY_set_utf8_string_param(
pkey: *mut EVP_PKEY,
key_name: *const c_char,
str: *const c_char,
) -> c_int;
pub fn EVP_PKEY_set_octet_string_param(
pkey: *mut EVP_PKEY,
key_name: *const c_char,
buf: *const c_uchar,
bsize: size_t,
) -> c_int;
}
}
}
Loading