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