1 /* USER CODE BEGIN Header */ 2 /** 3 ****************************************************************************** 4 * @file hw_aes.h 5 * @author GPM WBL Application Team 6 * @brief This file contains all the functions prototypes for the AES MANAGER 7 ****************************************************************************** 8 * @attention 9 * 10 * Copyright (c) 2024 STMicroelectronics. 11 * All rights reserved. 12 * 13 * This software is licensed under terms that can be found in the LICENSE file 14 * in the root directory of this software component. 15 * If no LICENSE file comes with this software, it is provided AS-IS. 16 * 17 ****************************************************************************** 18 */ 19 /* USER CODE END Header */ 20 21 /* Define to prevent recursive inclusion -------------------------------------*/ 22 #ifndef HW_AES_H 23 #define HW_AES_H 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 /* Includes ------------------------------------------------------------------*/ 30 #include <stdint.h> 31 32 /** @addtogroup HW_AES_Peripheral AES MANAGER 33 * @{ 34 */ 35 36 /** @defgroup HW_AES_Exported_Types Exported Types 37 * @{ 38 */ 39 40 /* Enumerated values used to report the AES result status after a process */ 41 typedef enum 42 { 43 HW_AES_SUCCESS = 0, 44 HW_AES_ERROR 45 } HW_AES_ResultStatus; 46 47 /** 48 * @} 49 */ 50 51 /** @defgroup HW_AES_Exported_Constants Exported Constants 52 * @{ 53 */ 54 /** 55 * @} 56 */ 57 58 /** @defgroup HW_AES_Exported_Macros Exported Macros 59 * @{ 60 */ 61 /** 62 * @} 63 */ 64 65 /** @defgroup HW_AES_Exported_Functions Exported Functions 66 * @{ 67 */ 68 HW_AES_ResultStatus HW_AES_Init(void); 69 70 HW_AES_ResultStatus HW_AES_Deinit(void); 71 72 HW_AES_ResultStatus HW_AES_Encrypt(const uint32_t *plainTextData, const uint32_t *key, uint32_t *encryptedData); 73 74 /** 75 * @} 76 */ 77 78 /** 79 * @} 80 */ 81 82 /** 83 * @} 84 */ 85 86 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif /* HW_AES_H */ 91