#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::common::{CryptoResult, Crypto_DataBlob};
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
pub struct OH_CryptoDigest {
_unused: [u8; 0],
}
extern "C" {
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_CryptoDigest_Create(
algoName: *const ::core::ffi::c_char,
ctx: *mut *mut OH_CryptoDigest,
) -> CryptoResult;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_CryptoDigest_Update(
ctx: *mut OH_CryptoDigest,
in_: *mut Crypto_DataBlob,
) -> CryptoResult;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_CryptoDigest_Final(
ctx: *mut OH_CryptoDigest,
out: *mut Crypto_DataBlob,
) -> CryptoResult;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_CryptoDigest_GetLength(ctx: *mut OH_CryptoDigest) -> u32;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_CryptoDigest_GetAlgoName(ctx: *mut OH_CryptoDigest) -> *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_DigestCrypto_Destroy(ctx: *mut OH_CryptoDigest);
}