CARME-M4 BSP  V1.5
stm32f4xx_hash.h File Reference

This file contains all the functions prototypes for the HASH firmware library. More...

#include "stm32f4xx.h"
+ Include dependency graph for stm32f4xx_hash.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  HASH_InitTypeDef
 HASH Init structure definition. More...
 
struct  HASH_MsgDigest
 HASH message digest result structure definition. More...
 
struct  HASH_Context
 HASH context swapping structure definition. More...
 

Macros

#define HASH_AlgoSelection_SHA1   ((uint32_t)0x0000)
 
#define HASH_AlgoSelection_SHA224   HASH_CR_ALGO_1
 
#define HASH_AlgoSelection_SHA256   HASH_CR_ALGO
 
#define HASH_AlgoSelection_MD5   HASH_CR_ALGO_0
 
#define IS_HASH_ALGOSELECTION(ALGOSELECTION)
 
#define HASH_AlgoMode_HASH   ((uint32_t)0x00000000)
 
#define HASH_AlgoMode_HMAC   HASH_CR_MODE
 
#define IS_HASH_ALGOMODE(ALGOMODE)
 
#define HASH_DataType_32b   ((uint32_t)0x0000)
 
#define HASH_DataType_16b   HASH_CR_DATATYPE_0
 
#define HASH_DataType_8b   HASH_CR_DATATYPE_1
 
#define HASH_DataType_1b   HASH_CR_DATATYPE
 
#define IS_HASH_DATATYPE(DATATYPE)
 
#define HASH_HMACKeyType_ShortKey   ((uint32_t)0x00000000)
 
#define HASH_HMACKeyType_LongKey   HASH_CR_LKEY
 
#define IS_HASH_HMAC_KEYTYPE(KEYTYPE)
 
#define IS_HASH_VALIDBITSNUMBER(VALIDBITS)   ((VALIDBITS) <= 0x1F)
 
#define HASH_IT_DINI   HASH_IMR_DINIM
 
#define HASH_IT_DCI   HASH_IMR_DCIM
 
#define IS_HASH_IT(IT)   ((((IT) & (uint32_t)0xFFFFFFFC) == 0x00000000) && ((IT) != 0x00000000))
 
#define IS_HASH_GET_IT(IT)   (((IT) == HASH_IT_DINI) || ((IT) == HASH_IT_DCI))
 
#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 IS_HASH_GET_FLAG(FLAG)
 
#define IS_HASH_CLEAR_FLAG(FLAG)
 

Functions

void HASH_DeInit (void)
 De-initializes the HASH peripheral registers to their default reset values. More...
 
void HASH_Init (HASH_InitTypeDef *HASH_InitStruct)
 Initializes the HASH peripheral according to the specified parameters in the HASH_InitStruct structure. More...
 
void HASH_StructInit (HASH_InitTypeDef *HASH_InitStruct)
 Fills each HASH_InitStruct member with its default value. More...
 
void HASH_Reset (void)
 Resets the HASH processor core, so that the HASH will be ready to compute the message digest of a new message. More...
 
void HASH_DataIn (uint32_t Data)
 Writes data in the Data Input FIFO. More...
 
uint8_t HASH_GetInFIFOWordsNbr (void)
 Returns the number of words already pushed into the IN FIFO. More...
 
void HASH_SetLastWordValidBitsNbr (uint16_t ValidNumber)
 Configure the Number of valid bits in last word of the message. More...
 
void HASH_StartDigest (void)
 Starts the message padding and calculation of the final message. More...
 
void HASH_AutoStartDigest (FunctionalState NewState)
 Enables or disables auto-start message padding and calculation of the final message digest at the end of DMA transfer. More...
 
void HASH_GetDigest (HASH_MsgDigest *HASH_MessageDigest)
 Provides the message digest result. More...
 
void HASH_SaveContext (HASH_Context *HASH_ContextSave)
 Save the Hash peripheral Context. More...
 
void HASH_RestoreContext (HASH_Context *HASH_ContextRestore)
 Restore the Hash peripheral Context. More...
 
void HASH_DMACmd (FunctionalState NewState)
 Enables or disables the HASH DMA interface. More...
 
void HASH_ITConfig (uint32_t HASH_IT, FunctionalState NewState)
 Enables or disables the specified HASH interrupts. More...
 
FlagStatus HASH_GetFlagStatus (uint32_t HASH_FLAG)
 Checks whether the specified HASH flag is set or not. More...
 
void HASH_ClearFlag (uint32_t HASH_FLAG)
 Clears the HASH flags. More...
 
ITStatus HASH_GetITStatus (uint32_t HASH_IT)
 Checks whether the specified HASH interrupt has occurred or not. More...
 
void HASH_ClearITPendingBit (uint32_t HASH_IT)
 Clears the HASH interrupt pending bit(s). More...
 
ErrorStatus HASH_SHA1 (uint8_t *Input, uint32_t Ilen, uint8_t Output[20])
 Compute the HASH SHA1 digest. More...
 
ErrorStatus HMAC_SHA1 (uint8_t *Key, uint32_t Keylen, uint8_t *Input, uint32_t Ilen, uint8_t Output[20])
 Compute the HMAC SHA1 digest. More...
 
ErrorStatus HASH_MD5 (uint8_t *Input, uint32_t Ilen, uint8_t Output[16])
 Compute the HASH MD5 digest. More...
 
ErrorStatus HMAC_MD5 (uint8_t *Key, uint32_t Keylen, uint8_t *Input, uint32_t Ilen, uint8_t Output[16])
 Compute the HMAC MD5 digest. More...
 

Detailed Description

This file contains all the functions prototypes for the HASH firmware library.

Author
MCD Application Team
Version
V1.3.0
Date
08-November-2013
Attention

© COPYRIGHT 2013 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file stm32f4xx_hash.h.