STM32F479xx HAL User Manual
Functions
Initialization and de-initialization functions
HASH Exported Functions

Initialization, configuration and call-back functions. 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.
__weak void HAL_HASH_MspInit (HASH_HandleTypeDef *hhash)
 Initialize the HASH MSP.
__weak void HAL_HASH_MspDeInit (HASH_HandleTypeDef *hhash)
 DeInitialize the HASH MSP.
__weak void HAL_HASH_InCpltCallback (HASH_HandleTypeDef *hhash)
 Input data transfer complete call back.
__weak void HAL_HASH_DgstCpltCallback (HASH_HandleTypeDef *hhash)
 Digest computation complete call back.
__weak void HAL_HASH_ErrorCallback (HASH_HandleTypeDef *hhash)
 Error callback.
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.
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.

Detailed Description

Initialization, configuration and call-back functions.

 ===============================================================================
              ##### Initialization and de-initialization functions #####
 ===============================================================================
    [..]  This section provides functions allowing to:
      (+) Initialize the HASH according to the specified parameters
          in the HASH_InitTypeDef and create the associated handle
      (+) DeInitialize the HASH peripheral
      (+) Initialize the HASH MCU Specific Package (MSP)
      (+) DeInitialize the HASH MSP

    [..]  This section provides as well call back functions definitions for user
          code to manage:
      (+) Input data transfer to Peripheral completion
      (+) Calculated digest retrieval completion
      (+) Error management




Function Documentation

HAL_StatusTypeDef HAL_HASH_DeInit ( HASH_HandleTypeDef hhash)

Digest computation complete call back.

Note:
HAL_HASH_DgstCpltCallback() is used under interruption, is not relevant with DMA.
Parameters:
hhashHASH handle.
Return values:
None

Definition at line 517 of file stm32f4xx_hal_hash.c.

Referenced by HAL_HASH_Init(), HAL_HASH_UnRegisterCallback(), and HASH_IT().

Error callback.

Note:
Code user can resort to hhash->Status (HAL_ERROR, HAL_TIMEOUT,...) to retrieve the error type.
Parameters:
hhashHASH handle.
Return values:
None

Definition at line 534 of file stm32f4xx_hal_hash.c.

Referenced by HAL_HASH_Init(), HAL_HASH_IRQHandler(), HAL_HASH_UnRegisterCallback(), and HASH_DMAError().

Input data transfer complete call back.

Note:
HAL_HASH_InCpltCallback() is called when the complete input message has been fed to the Peripheral. This API is invoked only when input data are entered under interruption or through DMA.
In case of HASH or HMAC multi-buffer DMA feeding case (MDMAT bit set), HAL_HASH_InCpltCallback() is called at the end of each buffer feeding to the Peripheral.
Parameters:
hhashHASH handle.
Return values:
None

Definition at line 500 of file stm32f4xx_hal_hash.c.

Referenced by HAL_HASH_Init(), HAL_HASH_UnRegisterCallback(), HASH_DMAXferCplt(), HASH_IT(), and HASH_Write_Block_Data().

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.

Note:
Only MDMAT and DATATYPE bits of HASH Peripheral are set by HAL_HASH_Init(), other configuration bits are set by HASH or HMAC processing APIs.
MDMAT bit is systematically reset by HAL_HASH_Init(). To set it for multi-buffer HASH processing, user needs to resort to __HAL_HASH_SET_MDMAT() macro. For HMAC multi-buffer processing, the relevant APIs manage themselves the MDMAT bit.
Parameters:
hhashHASH handle
Return values:
HALstatus

Definition at line 328 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_RESET_MDMAT, assert_param, HASH_InitTypeDef::DataType, __HASH_HandleTypeDef::DgstCpltCallback, __HASH_HandleTypeDef::DigestCalculationDisable, __HASH_HandleTypeDef::ErrorCallback, __HASH_HandleTypeDef::ErrorCode, HAL_HASH_DgstCpltCallback(), HAL_HASH_ERROR_NONE, HAL_HASH_ErrorCallback(), HAL_HASH_InCpltCallback(), HAL_HASH_MspInit(), HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HAL_HASH_STATE_RESET, HAL_HASH_SUSPEND_NONE, __HASH_HandleTypeDef::HashBuffSize, __HASH_HandleTypeDef::HashInCount, __HASH_HandleTypeDef::HashITCounter, __HASH_HandleTypeDef::InCpltCallback, __HASH_HandleTypeDef::Init, IS_HASH_DATATYPE, __HASH_HandleTypeDef::Lock, __HASH_HandleTypeDef::MspInitCallback, __HASH_HandleTypeDef::NbWordsAlreadyPushed, __HASH_HandleTypeDef::Phase, __HASH_HandleTypeDef::State, __HASH_HandleTypeDef::Status, and __HASH_HandleTypeDef::SuspendRequest.

DeInitialize the HASH MSP.

Parameters:
hhashHASH handle.
Return values:
None

Definition at line 479 of file stm32f4xx_hal_hash.c.

Referenced by HAL_HASH_DeInit(), and HAL_HASH_UnRegisterCallback().

Initialize the HASH MSP.

Parameters:
hhashHASH handle.
Return values:
None

Definition at line 464 of file stm32f4xx_hal_hash.c.

Referenced by HAL_HASH_Init(), and HAL_HASH_UnRegisterCallback().

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.

Parameters:
hhashHASH handle
CallbackIDID of the callback to be registered This parameter can be one of the following values:
pCallbackpointer to the Callback function
Return values:
status

Definition at line 559 of file stm32f4xx_hal_hash.c.

References __HASH_HandleTypeDef::DgstCpltCallback, __HASH_HandleTypeDef::ErrorCallback, __HASH_HandleTypeDef::ErrorCode, HAL_HASH_DGSTCPLT_CB_ID, HAL_HASH_ERROR_CB_ID, HAL_HASH_ERROR_INVALID_CALLBACK, HAL_HASH_INPUTCPLT_CB_ID, HAL_HASH_MSPDEINIT_CB_ID, HAL_HASH_MSPINIT_CB_ID, HAL_HASH_STATE_READY, HAL_HASH_STATE_RESET, __HASH_HandleTypeDef::InCpltCallback, __HASH_HandleTypeDef::MspDeInitCallback, __HASH_HandleTypeDef::MspInitCallback, and __HASH_HandleTypeDef::State.

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.

Parameters:
hhashHASH handle
CallbackIDID of the callback to be unregistered This parameter can be one of the following values:
Return values:
status

Definition at line 651 of file stm32f4xx_hal_hash.c.

References __HASH_HandleTypeDef::DgstCpltCallback, __HASH_HandleTypeDef::ErrorCallback, __HASH_HandleTypeDef::ErrorCode, HAL_HASH_DGSTCPLT_CB_ID, HAL_HASH_DgstCpltCallback(), HAL_HASH_ERROR_CB_ID, HAL_HASH_ERROR_INVALID_CALLBACK, HAL_HASH_ErrorCallback(), HAL_HASH_InCpltCallback(), HAL_HASH_INPUTCPLT_CB_ID, HAL_HASH_MspDeInit(), HAL_HASH_MSPDEINIT_CB_ID, HAL_HASH_MspInit(), HAL_HASH_MSPINIT_CB_ID, HAL_HASH_STATE_READY, HAL_HASH_STATE_RESET, __HASH_HandleTypeDef::InCpltCallback, __HASH_HandleTypeDef::MspDeInitCallback, __HASH_HandleTypeDef::MspInitCallback, and __HASH_HandleTypeDef::State.