rt-thread/bsp/nuvoton/libraries/m460/StdDriver/inc/nu_rng.h

59 lines
1.3 KiB
C

/**************************************************************************//**
* @file nu_rng.h
* @version V3.00
* @brief Random Number Generator Interface Controller (rng) driver header file
*
* @copyright SPDX-License-Identifier: Apache-2.0
* @copyright Copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/
#ifndef __NU_RNG_H__
#define __NU_RNG_H__
#ifdef __cplusplus
extern "C"
{
#endif
/** @addtogroup Standard_Driver Standard Driver
@{
*/
/** @addtogroup RNG_Driver RNG Driver
@{
*/
/** @addtogroup RNG_EXPORTED_CONSTANTS RNG Exported Constants
@{
*/
/**@}*/ /* end of group RNG_EXPORTED_CONSTANTS */
/** @addtogroup RNG_EXPORTED_FUNCTIONS RNG Exported Functions
@{
*/
int32_t RNG_Open(void);
int32_t RNG_Random(uint32_t *pu32Buf, int32_t nWords);
int32_t RNG_ECDSA_Init(uint32_t u32KeySize, uint32_t au32ECC_N[18]);
int32_t RNG_ECDSA(uint32_t u32KeySize);
int32_t RNG_ECDH_Init(uint32_t u32KeySize, uint32_t au32ECC_N[18]);
int32_t RNG_ECDH(uint32_t u32KeySize);
int32_t RNG_EntropyPoll(uint8_t *pu8Out, int32_t i32Len);
/**@}*/ /* end of group RNG_EXPORTED_FUNCTIONS */
/**@}*/ /* end of group RNG_Driver */
/**@}*/ /* end of group Standard_Driver */
#ifdef __cplusplus
}
#endif
#endif /* __NU_RNG_H__ */