STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_hash.h File Reference

Header file of HASH HAL module. More...

Go to the source code of this file.

Data Structures

struct  endif
 ADC handle Structure definition. More...
 

Typedefs

typedef struct __HASH_HandleTypeDef else typedef struct endif HASH_HandleTypeDef
 HASH Handle Structure definition. More...
 
typedef void(* pHASH_CallbackTypeDef) (HASH_HandleTypeDef *hhash)
 HAL HASH Callback pointer definition. More...
 

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...
 
enum  HAL_HASH_CallbackIDTypeDef {
  HAL_HASH_MSPINIT_CB_ID = 0x00U, HAL_HASH_MSPDEINIT_CB_ID = 0x01U, HAL_HASH_INPUTCPLT_CB_ID = 0x02U, HAL_HASH_DGSTCPLT_CB_ID = 0x03U,
  HAL_HASH_ERROR_CB_ID = 0x04U
}
 HAL HASH common Callback ID enumeration definition. 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. More...
 
HAL_StatusTypeDef HAL_HASH_DeInit (HASH_HandleTypeDef *hhash)
 DeInitialize the HASH peripheral. More...
 
void HAL_HASH_MspInit (HASH_HandleTypeDef *hhash)
 Initialize the HASH MSP. More...
 
void HAL_HASH_MspDeInit (HASH_HandleTypeDef *hhash)
 DeInitialize the HASH MSP. More...
 
void HAL_HASH_InCpltCallback (HASH_HandleTypeDef *hhash)
 Input data transfer complete call back. More...
 
void HAL_HASH_DgstCpltCallback (HASH_HandleTypeDef *hhash)
 Digest computation complete call back. More...
 
void HAL_HASH_ErrorCallback (HASH_HandleTypeDef *hhash)
 Error callback. More...
 
HAL_StatusTypeDef HAL_HASH_RegisterCallback (HASH_HandleTypeDef *hhash, HAL_HASH_CallbackIDTypeDef CallbackID, pHASH_CallbackTypeDef pCallback)
 Register a User HASH Callback To be used instead of the weak (surcharged) predefined callback. More...
 
HAL_StatusTypeDef HAL_HASH_UnRegisterCallback (HASH_HandleTypeDef *hhash, HAL_HASH_CallbackIDTypeDef CallbackID)
 Unregister a HASH Callback HASH Callback is redirected to the weak (surcharged) predefined callback. More...
 
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. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HASH_MD5_Accumulate (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 If not already done, initialize the HASH peripheral in MD5 mode then processes pInBuffer. More...
 
HAL_StatusTypeDef HAL_HASH_SHA1_Accumulate (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 If not already done, initialize the HASH peripheral in SHA1 mode then processes pInBuffer. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HASH_SHA1_Accumulate_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. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HASH_MD5_Accumulate_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. More...
 
void HAL_HASH_IRQHandler (HASH_HandleTypeDef *hhash)
 Handle HASH interrupt request. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HASH_SHA1_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout)
 Return the computed digest in SHA1 mode. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HASH_MD5_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout)
 Return the computed digest in MD5 mode. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
HAL_HASH_StateTypeDef HAL_HASH_GetState (HASH_HandleTypeDef *hhash)
 Return the HASH handle state. More...
 
HAL_StatusTypeDef HAL_HASH_GetStatus (HASH_HandleTypeDef *hhash)
 Return the HASH HAL status. More...
 
void HAL_HASH_ContextSaving (HASH_HandleTypeDef *hhash, uint8_t *pMemBuffer)
 Save the HASH context in case of processing suspension. More...
 
void HAL_HASH_ContextRestoring (HASH_HandleTypeDef *hhash, uint8_t *pMemBuffer)
 Restore the HASH context in case of processing resumption. More...
 
void HAL_HASH_SwFeed_ProcessSuspend (HASH_HandleTypeDef *hhash)
 Initiate HASH processing suspension when in polling or interruption mode. More...
 
HAL_StatusTypeDef HAL_HASH_DMAFeed_ProcessSuspend (HASH_HandleTypeDef *hhash)
 Suspend the HASH processing when in DMA mode. More...
 
uint32_t HAL_HASH_GetError (HASH_HandleTypeDef *hhash)
 Return the HASH handle error code. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
HAL_StatusTypeDef HASH_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout)
 Return the computed digest. More...
 
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. More...
 
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. More...
 
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. More...
 

Variables

 C
 

Detailed Description

Header file of HASH HAL module.

Author
MCD Application Team
Attention

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32l4xx_hal_hash.h.

Typedef Documentation

◆ HASH_HandleTypeDef

typedef struct __HASH_HandleTypeDef else typedef struct endif HASH_HandleTypeDef

HASH Handle Structure definition.

◆ pHASH_CallbackTypeDef

typedef void(* pHASH_CallbackTypeDef) (HASH_HandleTypeDef *hhash)

HAL HASH Callback pointer definition.

pointer to a HASH common callback functions

Definition at line 175 of file stm32l4xx_hal_hash.h.

Enumeration Type Documentation

◆ HAL_HASH_CallbackIDTypeDef

HAL HASH common Callback ID enumeration definition.

Enumerator
HAL_HASH_MSPINIT_CB_ID 

HASH MspInit callback ID

HAL_HASH_MSPDEINIT_CB_ID 

HASH MspDeInit callback ID

HAL_HASH_INPUTCPLT_CB_ID 

HASH input completion callback ID

HAL_HASH_DGSTCPLT_CB_ID 

HASH digest computation completion callback ID

HAL_HASH_ERROR_CB_ID 

HASH error callback ID

Definition at line 99 of file stm32l4xx_hal_hash.h.

◆ HAL_HASH_PhaseTypeDef

HAL phase structures definition.

Enumerator
HAL_HASH_PHASE_READY 

HASH peripheral is ready to start

HAL_HASH_PHASE_PROCESS 

HASH peripheral is in HASH processing phase

HAL_HASH_PHASE_HMAC_STEP_1 

HASH peripheral is in HMAC step 1 processing phase (step 1 consists in entering the inner hash function key)

HAL_HASH_PHASE_HMAC_STEP_2 

HASH peripheral is in HMAC step 2 processing phase (step 2 consists in entering the message text)

HAL_HASH_PHASE_HMAC_STEP_3 

HASH peripheral is in HMAC step 3 processing phase (step 3 consists in entering the outer hash function key)

Definition at line 74 of file stm32l4xx_hal_hash.h.

◆ HAL_HASH_StateTypeDef

HAL State structures definition.

Enumerator
HAL_HASH_STATE_RESET 

Peripheral is not initialized

HAL_HASH_STATE_READY 

Peripheral Initialized and ready for use

HAL_HASH_STATE_BUSY 

Processing (hashing) is ongoing

HAL_HASH_STATE_TIMEOUT 

Timeout state

HAL_HASH_STATE_ERROR 

Error state

HAL_HASH_STATE_SUSPENDED 

Suspended state

Definition at line 61 of file stm32l4xx_hal_hash.h.

◆ HAL_HASH_SuspendTypeDef

HAL HASH mode suspend definitions.

Enumerator
HAL_HASH_SUSPEND_NONE 

HASH peripheral suspension not requested

HAL_HASH_SUSPEND 

HASH peripheral suspension is requested

Definition at line 89 of file stm32l4xx_hal_hash.h.

90 {
91  HAL_HASH_SUSPEND_NONE = 0x00U,
92  HAL_HASH_SUSPEND = 0x01U
HAL_HASH_SuspendTypeDef
HAL HASH mode suspend definitions.

Variable Documentation

◆ C

C
Initial value:
{
#endif
#if defined (HASH)
typedef struct
{
uint32_t DataType;
uint32_t KeySize;
uint8_t* pKey;
} HASH_InitTypeDef
This file contains HAL common defines, enumeration, macros and structures definitions.