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