Skip to main content

variant_ssl_sys/handwritten/
hmac.rs

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