1 /**************************************************************************//** 2 * @file rng.h 3 * @version V3.00 4 * @brief Random Number Generator Interface Controller (rng) driver header file 5 * 6 * @copyright SPDX-License-Identifier: Apache-2.0 7 * @copyright Copyright (C) 2020 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 #ifndef __RNG_H__ 10 #define __RNG_H__ 11 12 13 #ifdef __cplusplus 14 extern "C" 15 { 16 #endif 17 18 19 /** @addtogroup Standard_Driver Standard Driver 20 @{ 21 */ 22 23 /** @addtogroup RNG_Driver RNG Driver 24 @{ 25 */ 26 27 /** @addtogroup RNG_EXPORTED_CONSTANTS RNG Exported Constants 28 @{ 29 */ 30 31 /**@}*/ /* end of group RNG_EXPORTED_CONSTANTS */ 32 33 34 /** @addtogroup RNG_EXPORTED_FUNCTIONS RNG Exported Functions 35 @{ 36 */ 37 38 int32_t RNG_Open(void); 39 int32_t RNG_Random(uint32_t *pu32Buf, int32_t nWords); 40 41 int32_t RNG_ECDSA_Init(uint32_t u32KeySize, uint32_t au32ECC_N[18]); 42 int32_t RNG_ECDSA(uint32_t u32KeySize); 43 int32_t RNG_ECDH_Init(uint32_t u32KeySize, uint32_t au32ECC_N[18]); 44 int32_t RNG_ECDH(uint32_t u32KeySize); 45 46 /**@}*/ /* end of group RNG_EXPORTED_FUNCTIONS */ 47 48 /**@}*/ /* end of group RNG_Driver */ 49 50 /**@}*/ /* end of group Standard_Driver */ 51 52 #ifdef __cplusplus 53 } 54 #endif 55 56 #endif /* __RNG_H__ */ 57