MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClRandom_Functions.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2022 NXP */
3 /* */
4 /* NXP Confidential. This software is owned or controlled by NXP and may */
5 /* only be used strictly in accordance with the applicable license terms. */
6 /* By expressly accepting such terms or by downloading, installing, */
7 /* activating and/or otherwise using the software, you are agreeing that */
8 /* you have read, and that you agree to comply with and are bound by, such */
9 /* license terms. If you do not agree to be bound by the applicable license */
10 /* terms, then you may not retain, install, activate or otherwise use the */
11 /* software. */
12 /*--------------------------------------------------------------------------*/
13 
19 #ifndef MCUXCLRANDOM_FUNCTIONS_H_
20 #define MCUXCLRANDOM_FUNCTIONS_H_
21 
22 #include <mcuxClConfig.h> // Exported features flags header
23 
24 #include <mcuxClSession.h>
25 #include <mcuxClRandom_Types.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /**********************************************************/
32 /* Public APIs of mcuxClRandom */
33 /**********************************************************/
54 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_init)
56  mcuxClSession_Handle_t pSession,
57  mcuxClRandom_Context_t pContext,
59 ); /* init */
60 
72 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_reseed)
74  mcuxClSession_Handle_t pSession
75 ); /* reseed */
76 
91 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_generate)
93  mcuxClSession_Handle_t pSession,
94  uint8_t * pOut,
95  uint32_t outLength
96 ); /* generate */
97 
108 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_uninit)
110  mcuxClSession_Handle_t pSession
111 ); /* uninit */
112 
124 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_selftest)
126  mcuxClSession_Handle_t pSession,
128 ); /* health test */
129 
141 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_checkSecurityStrength)
142 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRandom_Status_t) mcuxClRandom_checkSecurityStrength(
143  mcuxClSession_Handle_t pSession,
144  uint32_t securityStrength
145 ); /* security strength check */
146 
157 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_ncInit)
159  mcuxClSession_Handle_t pSession
160 ); /* LE init */
161 
176 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRandom_ncGenerate)
177 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRandom_Status_t) mcuxClRandom_ncGenerate(
178  mcuxClSession_Handle_t pSession,
179  uint8_t * pOut,
180  uint32_t outLength
181 ); /* LE generate */
182 
183 #ifdef __cplusplus
184 } /* extern "C" */
185 #endif
186  /* mcuxClRandom_Functions */
190 
191 #endif /* MCUXCLRANDOM_FUNCTIONS_H_ */
Type definitions of mcuxClRandom component.
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:124
const mcuxClRandom_ModeDescriptor_t * mcuxClRandom_Mode_t
Random data generation mode/algorithm type.
Definition: mcuxClRandom_Types.h:93
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRandom_Status_t) mcuxClRandom_init(mcuxClSession_Handle_t pSession
Random data generator initialization function.
Definition: mcuxCsslFlowProtection_example.c:137
uint32_t mcuxClRandom_Status_t
Type for status codes of mcuxClRandom component functions.
Definition: mcuxClRandom_Types.h:47
mcuxClRandom_ContextDescriptor_t * mcuxClRandom_Context_t
Random context type.
Definition: mcuxClRandom_Types.h:70
Top-level include file for the mcuxClSession component.