/ Drivers / STM32F4xx_HAL_Driver / Inc / stm32f4xx_hal_cryp_ex.h
stm32f4xx_hal_cryp_ex.h
  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