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