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 /**********************************************************/
56  mcuxClSession_Handle_t pSession,
57  mcuxClRandom_Context_t pContext,
59 ); /* init */
60 
74  mcuxClSession_Handle_t pSession
75 ); /* reseed */
76 
93  mcuxClSession_Handle_t pSession,
94  uint8_t * pOut,
95  uint32_t outLength
96 ); /* generate */
97 
110  mcuxClSession_Handle_t pSession
111 ); /* uninit */
112 
126  mcuxClSession_Handle_t pSession,
128 ); /* health test */
129 
143  mcuxClSession_Handle_t pSession,
144  uint32_t securityStrength
145 ); /* security strength check */
146 
159  mcuxClSession_Handle_t pSession
160 ); /* LE init */
161 
177  mcuxClSession_Handle_t pSession,
178  uint8_t * pOut,
179  uint32_t outLength
180 ); /* LE generate */
181 
182 #ifdef __cplusplus
183 } /* extern "C" */
184 #endif
185  /* mcuxClRandom_Functions */
189 
190 #endif /* MCUXCLRANDOM_FUNCTIONS_H_ */
mcuxClRandom_Status_t mcuxClRandom_checkSecurityStrength(mcuxClSession_Handle_t pSession, uint32_t securityStrength)
Random data generator security strength check.
Top-level include file for the mcuxClSession component.
mcuxClRandom_Status_t mcuxClRandom_ncGenerate(mcuxClSession_Handle_t pSession, uint8_t *pOut, uint32_t outLength)
Non-cryptographic PRNG data generation function.
mcuxClRandom_Status_t mcuxClRandom_init(mcuxClSession_Handle_t pSession, mcuxClRandom_Context_t pContext, mcuxClRandom_Mode_t mode)
Random data generator initialization function.
mcuxClRandom_Status_t mcuxClRandom_selftest(mcuxClSession_Handle_t pSession, mcuxClRandom_Mode_t mode)
Random data generator self-test function.
mcuxClRandom_Status_t mcuxClRandom_ncInit(mcuxClSession_Handle_t pSession)
Non-cryptographic PRNG initialization function.
mcuxClRandom_Status_t mcuxClRandom_generate(mcuxClSession_Handle_t pSession, uint8_t *pOut, uint32_t outLength)
Random data generation function.
const mcuxClRandom_ModeDescriptor_t * mcuxClRandom_Mode_t
Random data generation mode/algorithm type.
Definition: mcuxClRandom_Types.h:93
mcuxClRandom_Status_t mcuxClRandom_reseed(mcuxClSession_Handle_t pSession)
Random data generator reseed function.
uint32_t mcuxClRandom_Status_t
Type for status codes of mcuxClRandom component functions.
Definition: mcuxClRandom_Types.h:47
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:133
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
mcuxClRandom_Status_t mcuxClRandom_uninit(mcuxClSession_Handle_t pSession)
Random data generator uninitialization function.
Type definitions of mcuxClRandom component.
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition: mcuxCsslFlowProtection.h:81
mcuxClRandom_ContextDescriptor_t * mcuxClRandom_Context_t
Random context type.
Definition: mcuxClRandom_Types.h:70