variant_ssl_sys/handwritten/
hmac.rs

1use libc::*;
2
3use super::super::*;
4
5#[cfg(not(osslconf = "OPENSSL_NO_DEPRECATED_3_0"))]
6cfg_if! {
7    if #[cfg(any(ossl110, libressl))] {
8        extern "C" {
9            pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10            pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
11            pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX) -> c_int;
12        }
13    } else {
14        extern "C" {
15            pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
16            pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
17        }
18    }
19}
20
21#[cfg(not(osslconf = "OPENSSL_NO_DEPRECATED_3_0"))]
22extern "C" {
23    pub fn HMAC_Init_ex(
24        ctx: *mut HMAC_CTX,
25        key: *const c_void,
26        len: c_int,
27        md: *const EVP_MD,
28        impl_: *mut ENGINE,
29    ) -> c_int;
30    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
31    #[cfg(ossl110)]
32    pub fn HMAC_size(e: *const HMAC_CTX) -> usize;
33    pub fn HMAC_Update(ctx: *mut HMAC_CTX, data: *const c_uchar, len: size_t) -> c_int;
34    pub fn HMAC_Final(ctx: *mut HMAC_CTX, md: *mut c_uchar, len: *mut c_uint) -> c_int;
35    pub fn HMAC_CTX_copy(dst: *mut HMAC_CTX, src: *mut HMAC_CTX) -> c_int;
36}