/* automatically generated by rust-bindgen 0.72.1 */

pub const SRAM_SRAMH: u32 = 2;
pub const SRAM_SRAM0: u32 = 1;
pub const SRAM_SRAMB: u32 = 4;
pub const SRAM_SRAM_ALL: u32 = 7;
pub const SRAM_ECC_SRAM0: u32 = 1;
pub const SRAM_ECC_SRAMB: u32 = 2;
pub const SRAM_ECC_SRAM_ALL: u32 = 3;
pub const SRAM_EXP_TYPE_NMI: u32 = 0;
pub const SRAM_EXP_TYPE_RST: u32 = 1;
pub const SRAM_CHECK_SRAM0: u32 = 65536;
pub const SRAM_CHECK_SRAMB: u32 = 131072;
pub const SRAM_CHECK_SRAMH: u32 = 1;
pub const SRAM_CHECK_SRAM_ALL: u32 = 196609;
pub const SRAM_SRAM0_ECC_INVD: u32 = 0;
pub const SRAM_SRAM0_ECC_MD1: u32 = 16777216;
pub const SRAM_SRAM0_ECC_MD2: u32 = 33554432;
pub const SRAM_SRAM0_ECC_MD3: u32 = 50331648;
pub const SRAM_SRAMB_ECC_INVD: u32 = 0;
pub const SRAM_SRAMB_ECC_MD1: u32 = 67108864;
pub const SRAM_SRAMB_ECC_MD2: u32 = 134217728;
pub const SRAM_SRAMB_ECC_MD3: u32 = 201326592;
pub const SRAM_ECC_MD_INVD: u32 = 0;
pub const SRAM_FLAG_SRAMH_PYERR: u32 = 8;
pub const SRAM_FLAG_SRAM0_1ERR: u32 = 16;
pub const SRAM_FLAG_SRAM0_2ERR: u32 = 32;
pub const SRAM_FLAG_SRAMB_1ERR: u32 = 64;
pub const SRAM_FLAG_SRAMB_2ERR: u32 = 128;
pub const SRAM_FLAG_CACHE_PYERR: u32 = 256;
pub const SRAM_FLAG_ALL: u32 = 504;
pub const SRAM_REG_LOCK_KEY: u32 = 118;
pub const SRAM_REG_UNLOCK_KEY: u32 = 119;
pub const en_functional_state_t_DISABLE: en_functional_state_t = 0;
pub const en_functional_state_t_ENABLE: en_functional_state_t = 1;
#[doc = " @brief Functional state"]
pub type en_functional_state_t = ::core::ffi::c_uint;
pub const en_flag_status_t_RESET: en_flag_status_t = 0;
pub const en_flag_status_t_SET: en_flag_status_t = 1;
#[doc = " @brief Flag status"]
pub type en_flag_status_t = ::core::ffi::c_uint;
unsafe extern "C" {
    pub fn SRAM_Init();
    pub fn SRAM_DeInit();
    pub fn SRAM_SetEccMode(u32EccSram: u32, u32EccMode: u32);
    pub fn SRAM_SetExceptionType(u32CheckSram: u32, u32ExceptionType: u32);
    pub fn SRAM_GetStatus(u32Flag: u32) -> en_flag_status_t;
    pub fn SRAM_ClearStatus(u32Flag: u32);
    pub fn SRAM_ErrorInjectCmd(u32EccSram: u32, enNewState: en_functional_state_t);
    pub fn SRAM_ErrorInjectBitCmd(
        u32EccSram: u32,
        u64BitSel: u64,
        enNewState: en_functional_state_t,
    );
    pub fn SRAM_GetEccErrorAddr(u32EccSram: u32) -> u32;
}
