/**
  ******************************************************************************
  * @file           : sm_crypto_stsafe.h
  * @brief          : Header for sm_crypto_stsafe.c file.
  *                   This file provides the interface for SM cryptographic operations using STSAFE.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2025 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */


/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _SM_CRYPTO_STSAFE_H_
#define _SM_CRYPTO_STSAFE_H_

#ifdef __cplusplus
extern "C" {
#endif

/** @addtogroup MCU_CRYPTO
  * @{
  */

/* Includes ------------------------------------------------------------------*/
#include "sm_crypto.h"
#if defined(STM32U585xx)
#include "stm32u5xx_hal.h"
#elif defined(STM32WBA52xx) || defined(STM32WBA65xx)
#include "stm32wbaxx_hal.h"
#else
#error "product not supported"
#endif
#include "stselib.h"

/** @addtogroup SM_crypto_stsafe_Exported_Functions
  * @{
  */
/* Exported functions ------------------------------------------------------- */

/**
 * @brief Initializes cryptographic operations using STSAFE.
 * @param pairingdone Pointer to a flag indicating if pairing is done.
 * @return SM_Crypto_Error_t error code.
 */
SM_Crypto_Error_t SM_initCryptoStSafe(uint8_t *pairingdone);
/**
  * @}
  */

/**
  * @}
  */ 

#ifdef __cplusplus
}
#endif

#endif // _SM_CRYPTO_STSAFE_H_
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/