59 lines
1.3 KiB
C
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__ */
|
|
|