STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
Header file of HASH HAL module. More...
Go to the source code of this file.
Data Structures | |
struct | HASH_InitTypeDef |
HASH Configuration Structure definition. More... | |
struct | HASH_HandleTypeDef |
HASH Handle Structure definition. More... | |
Macros | |
#define | HASH_ALGOSELECTION_SHA1 0x00000000U |
#define | HASH_ALGOSELECTION_MD5 HASH_CR_ALGO_0 |
#define | HASH_ALGOSELECTION_SHA224 HASH_CR_ALGO_1 |
#define | HASH_ALGOSELECTION_SHA256 HASH_CR_ALGO |
#define | HASH_ALGOMODE_HASH 0x00000000U |
#define | HASH_ALGOMODE_HMAC HASH_CR_MODE |
#define | HASH_DATATYPE_32B 0x00000000U |
#define | HASH_DATATYPE_16B HASH_CR_DATATYPE_0 |
#define | HASH_DATATYPE_8B HASH_CR_DATATYPE_1 |
#define | HASH_DATATYPE_1B HASH_CR_DATATYPE |
#define | HASH_HMAC_KEYTYPE_SHORTKEY 0x00000000U |
#define | HASH_HMAC_KEYTYPE_LONGKEY HASH_CR_LKEY |
#define | HASH_FLAG_DINIS HASH_SR_DINIS |
#define | HASH_FLAG_DCIS HASH_SR_DCIS |
#define | HASH_FLAG_DMAS HASH_SR_DMAS |
#define | HASH_FLAG_BUSY HASH_SR_BUSY |
#define | HASH_FLAG_DINNE HASH_CR_DINNE |
#define | HASH_IT_DINI HASH_IMR_DINIE |
#define | HASH_IT_DCI HASH_IMR_DCIE |
#define | HAL_HASH_ERROR_NONE 0x00000000U |
#define | HAL_HASH_ERROR_IT 0x00000001U |
#define | HAL_HASH_ERROR_DMA 0x00000002U |
#define | __HAL_HASH_GET_FLAG(__FLAG__) |
Check whether or not the specified HASH flag is set. | |
#define | __HAL_HASH_CLEAR_FLAG(__FLAG__) |
Clear the specified HASH flag. | |
#define | __HAL_HASH_ENABLE_IT(__INTERRUPT__) |
Enable the specified HASH interrupt. | |
#define | __HAL_HASH_DISABLE_IT(__INTERRUPT__) |
Disable the specified HASH interrupt. | |
#define | __HAL_HASH_RESET_HANDLE_STATE(__HANDLE__) |
Reset HASH handle state. | |
#define | __HAL_HASH_RESET_HANDLE_STATUS(__HANDLE__) |
Reset HASH handle status. | |
#define | __HAL_HASH_SET_MDMAT() |
Enable the multi-buffer DMA transfer mode. | |
#define | __HAL_HASH_RESET_MDMAT() |
Disable the multi-buffer DMA transfer mode. | |
#define | __HAL_HASH_START_DIGEST() |
Start the digest computation. | |
#define | __HAL_HASH_SET_NBVALIDBITS(__SIZE__) |
Set the number of valid bits in the last word written in data register DIN. | |
#define | __HAL_HASH_INIT() |
Reset the HASH core. | |
#define | HASH_DIGEST_LENGTH() |
Return digest length in bytes. | |
#define | HASH_NBW_PUSHED() |
Return number of words already pushed in the FIFO. | |
#define | IS_HASH_DATATYPE(__DATATYPE__) |
Ensure that HASH input data type is valid. | |
#define | IS_HASH_DMA_MULTIBUFFER_SIZE(__SIZE__) |
Ensure that input data buffer size is valid for multi-buffer HASH processing in DMA mode. | |
#define | IS_HMAC_DMA_MULTIBUFFER_SIZE(__HANDLE__, __SIZE__) |
Ensure that input data buffer size is valid for multi-buffer HMAC processing in DMA mode. | |
#define | IS_HASH_PROCESSING(__HANDLE__) |
Ensure that handle phase is set to HASH processing. | |
#define | IS_HMAC_PROCESSING(__HANDLE__) |
Ensure that handle phase is set to HMAC processing. | |
Enumerations | |
enum | HAL_HASH_StateTypeDef { HAL_HASH_STATE_RESET = 0x00U , HAL_HASH_STATE_READY = 0x01U , HAL_HASH_STATE_BUSY = 0x02U , HAL_HASH_STATE_TIMEOUT = 0x06U , HAL_HASH_STATE_ERROR = 0x07U , HAL_HASH_STATE_SUSPENDED = 0x08U } |
HAL State structures definition. More... | |
enum | HAL_HASH_PhaseTypeDef { HAL_HASH_PHASE_READY = 0x01U , HAL_HASH_PHASE_PROCESS = 0x02U , HAL_HASH_PHASE_HMAC_STEP_1 = 0x03U , HAL_HASH_PHASE_HMAC_STEP_2 = 0x04U , HAL_HASH_PHASE_HMAC_STEP_3 = 0x05U } |
HAL phase structures definition. More... | |
enum | HAL_HASH_SuspendTypeDef { HAL_HASH_SUSPEND_NONE = 0x00U , HAL_HASH_SUSPEND = 0x01U } |
HAL HASH mode suspend definitions. More... | |
Functions | |
HAL_StatusTypeDef | HAL_HASH_Init (HASH_HandleTypeDef *hhash) |
Initialize the HASH according to the specified parameters in the HASH_HandleTypeDef and create the associated handle. | |
HAL_StatusTypeDef | HAL_HASH_DeInit (HASH_HandleTypeDef *hhash) |
DeInitialize the HASH peripheral. | |
void | HAL_HASH_MspInit (HASH_HandleTypeDef *hhash) |
Initialize the HASH MSP. | |
void | HAL_HASH_MspDeInit (HASH_HandleTypeDef *hhash) |
DeInitialize the HASH MSP. | |
void | HAL_HASH_InCpltCallback (HASH_HandleTypeDef *hhash) |
Input data transfer complete call back. | |
void | HAL_HASH_DgstCpltCallback (HASH_HandleTypeDef *hhash) |
Digest computation complete call back. | |
void | HAL_HASH_ErrorCallback (HASH_HandleTypeDef *hhash) |
Error callback. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
Initialize the HASH peripheral in MD5 mode, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
If not already done, initialize the HASH peripheral in MD5 mode then processes pInBuffer. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
If not already done, initialize the HASH peripheral in SHA1 mode then processes pInBuffer. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt_End (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
End computation of a single HASH signature after several calls to HAL_HASH_MD5_Accmlt() API. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt_End (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
End computation of a single HASH signature after several calls to HAL_HASH_SHA1_Accmlt() API. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then read the computed digest in interruption mode. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
If not already done, initialize the HASH peripheral in SHA1 mode then processes pInBuffer in interruption mode. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt_End_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
End computation of a single HASH signature after several calls to HAL_HASH_SHA1_Accmlt_IT() API. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
Initialize the HASH peripheral in MD5 mode, next process pInBuffer then read the computed digest in interruption mode. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
If not already done, initialize the HASH peripheral in MD5 mode then processes pInBuffer in interruption mode. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt_End_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
End computation of a single HASH signature after several calls to HAL_HASH_MD5_Accmlt_IT() API. | |
void | HAL_HASH_IRQHandler (HASH_HandleTypeDef *hhash) |
Handle HASH interrupt request. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
Initialize the HASH peripheral in SHA1 mode then initiate a DMA transfer to feed the input buffer to the Peripheral. | |
HAL_StatusTypeDef | HAL_HASH_SHA1_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout) |
Return the computed digest in SHA1 mode. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
Initialize the HASH peripheral in MD5 mode then initiate a DMA transfer to feed the input buffer to the Peripheral. | |
HAL_StatusTypeDef | HAL_HASH_MD5_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout) |
Return the computed digest in MD5 mode. | |
HAL_StatusTypeDef | HAL_HMAC_SHA1_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
Initialize the HASH peripheral in HMAC SHA1 mode, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HAL_HMAC_MD5_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout) |
Initialize the HASH peripheral in HMAC MD5 mode, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HAL_HMAC_MD5_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
Initialize the HASH peripheral in HMAC MD5 mode, next process pInBuffer then read the computed digest in interrupt mode. | |
HAL_StatusTypeDef | HAL_HMAC_SHA1_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
Initialize the HASH peripheral in HMAC SHA1 mode, next process pInBuffer then read the computed digest in interrupt mode. | |
HAL_StatusTypeDef | HAL_HMAC_SHA1_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
Initialize the HASH peripheral in HMAC SHA1 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral. | |
HAL_StatusTypeDef | HAL_HMAC_MD5_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
Initialize the HASH peripheral in HMAC MD5 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral. | |
HAL_HASH_StateTypeDef | HAL_HASH_GetState (HASH_HandleTypeDef *hhash) |
Return the HASH handle state. | |
HAL_StatusTypeDef | HAL_HASH_GetStatus (HASH_HandleTypeDef *hhash) |
Return the HASH HAL status. | |
void | HAL_HASH_ContextSaving (HASH_HandleTypeDef *hhash, uint8_t *pMemBuffer) |
Save the HASH context in case of processing suspension. | |
void | HAL_HASH_ContextRestoring (HASH_HandleTypeDef *hhash, uint8_t *pMemBuffer) |
Restore the HASH context in case of processing resumption. | |
void | HAL_HASH_SwFeed_ProcessSuspend (HASH_HandleTypeDef *hhash) |
Initiate HASH processing suspension when in polling or interruption mode. | |
HAL_StatusTypeDef | HAL_HASH_DMAFeed_ProcessSuspend (HASH_HandleTypeDef *hhash) |
Suspend the HASH processing when in DMA mode. | |
uint32_t | HAL_HASH_GetError (HASH_HandleTypeDef *hhash) |
Return the HASH handle error code. | |
HAL_StatusTypeDef | HASH_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout, uint32_t Algorithm) |
Initialize the HASH peripheral, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HASH_Accumulate (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) |
If not already done, initialize the HASH peripheral then processes pInBuffer. | |
HAL_StatusTypeDef | HASH_Accumulate_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) |
If not already done, initialize the HASH peripheral then processes pInBuffer in interruption mode. | |
HAL_StatusTypeDef | HASH_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Algorithm) |
Initialize the HASH peripheral, next process pInBuffer then read the computed digest in interruption mode. | |
HAL_StatusTypeDef | HASH_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) |
Initialize the HASH peripheral then initiate a DMA transfer to feed the input buffer to the Peripheral. | |
HAL_StatusTypeDef | HASH_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout) |
Return the computed digest. | |
HAL_StatusTypeDef | HMAC_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout, uint32_t Algorithm) |
Initialize the HASH peripheral in HMAC mode, next process pInBuffer then read the computed digest. | |
HAL_StatusTypeDef | HMAC_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Algorithm) |
Initialize the HASH peripheral in HMAC mode, next process pInBuffer then read the computed digest in interruption mode. | |
HAL_StatusTypeDef | HMAC_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) |
Initialize the HASH peripheral in HMAC mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral. | |
Header file of HASH HAL module.
Copyright (c) 2016 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.
Definition in file stm32f4xx_hal_hash.h.