1 /** 2 ****************************************************************************** 3 * @file stm32f4xx_hal_cryp_ex.h 4 * @author MCD Application Team 5 * @brief Header file of CRYP HAL Extension module. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2016 STMicroelectronics. 10 * All rights reserved. 11 * 12 * This software is licensed under terms that can be found in the LICENSE file 13 * in the root directory of this software component. 14 * If no LICENSE file comes with this software, it is provided AS-IS. 15 * 16 ****************************************************************************** 17 */ 18 19 /* Define to prevent recursive inclusion -------------------------------------*/ 20 #ifndef __STM32F4xx_HAL_CRYP_EX_H 21 #define __STM32F4xx_HAL_CRYP_EX_H 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /* Includes ------------------------------------------------------------------*/ 28 #include "stm32f4xx_hal_def.h" 29 30 /** @addtogroup STM32F4xx_HAL_Driver 31 * @{ 32 */ 33 34 /** @addtogroup CRYPEx 35 * @{ 36 */ 37 /* Exported types ------------------------------------------------------------*/ 38 /** @defgroup CRYPEx_Exported_Types CRYPEx Exported types 39 * @{ 40 */ 41 42 /** 43 * @} 44 */ 45 /* Exported constants --------------------------------------------------------*/ 46 /** @defgroup CRYPEx_Exported_Constants CRYPEx Exported constants 47 * @{ 48 */ 49 50 /** 51 * @} 52 */ 53 54 /* Private types -------------------------------------------------------------*/ 55 /** @defgroup CRYPEx_Private_Types CRYPEx Private Types 56 * @{ 57 */ 58 59 /** 60 * @} 61 */ 62 63 /* Private variables ---------------------------------------------------------*/ 64 /** @defgroup CRYPEx_Private_Variables CRYPEx Private Variables 65 * @{ 66 */ 67 68 /** 69 * @} 70 */ 71 72 /* Private constants ---------------------------------------------------------*/ 73 /** @defgroup CRYPEx_Private_Constants CRYPEx Private Constants 74 * @{ 75 */ 76 77 /** 78 * @} 79 */ 80 81 /* Private macros ------------------------------------------------------------*/ 82 /** @defgroup CRYPEx_Private_Macros CRYPEx Private Macros 83 * @{ 84 */ 85 86 /** 87 * @} 88 */ 89 90 /* Private functions ---------------------------------------------------------*/ 91 /** @defgroup CRYPEx_Private_Functions CRYPEx Private Functions 92 * @{ 93 */ 94 95 /** 96 * @} 97 */ 98 99 /* Exported functions --------------------------------------------------------*/ 100 /** @defgroup CRYPEx_Exported_Functions CRYPEx Exported Functions 101 * @{ 102 */ 103 #if defined (CRYP) || defined (AES) 104 /** @addtogroup CRYPEx_Exported_Functions_Group1 105 * @{ 106 */ 107 HAL_StatusTypeDef HAL_CRYPEx_AESGCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); 108 HAL_StatusTypeDef HAL_CRYPEx_AESCCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); 109 /** 110 * @} 111 */ 112 #endif /* CRYP||AES */ 113 114 #if defined (AES) 115 /** @addtogroup CRYPEx_Exported_Functions_Group2 116 * @{ 117 */ 118 void HAL_CRYPEx_EnableAutoKeyDerivation(CRYP_HandleTypeDef *hcryp); 119 void HAL_CRYPEx_DisableAutoKeyDerivation(CRYP_HandleTypeDef *hcryp); 120 /** 121 * @} 122 */ 123 #endif /* AES */ 124 125 /** 126 * @} 127 */ 128 129 /** 130 * @} 131 */ 132 133 /** 134 * @} 135 */ 136 137 #ifdef __cplusplus 138 } 139 #endif 140 141 #endif /* __STM32F4xx_HAL_CRYP_EX_H */ 142 143