MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClSession_Functions.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2023 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 MCUXCLSESSION_FUNCTIONS_H_
20 #define MCUXCLSESSION_FUNCTIONS_H_
21 
22 #include <mcuxClCore_Platform.h>
24 #include <mcuxCsslFlowProtection.h>
25 #include <mcuxClSession_Types.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /**********************************************
32  * FUNCTIONS
33  **********************************************/
60  mcuxClSession_Handle_t pSession,
61  uint32_t * const pCpuWaBuffer,
62  uint32_t cpuWaLength,
63  uint32_t * const pPkcWaBuffer,
64  uint32_t pkcWaLength
65  /* TBD: sclRandom_Context_t * const rngCtx */
66 );
67 
79  mcuxClSession_Handle_t pSession,
80  uint8_t * const pRtf,
81  mcuxClSession_Rtf_t RtfOptions
82 );
83 
84 
85 
86 
87 
88 
89 
102  mcuxClSession_Handle_t pSession
103 );
104 
119  mcuxClSession_Handle_t pSession
120 );
121 
122 #ifdef MCUXCL_FEATURE_SESSION_HAS_RANDOM
123 
132 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClSession_setRandom)
133 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClSession_Status_t) mcuxClSession_setRandom(
134  mcuxClSession_Handle_t session,
135  mcuxClRandom_Mode_t randomMode,
136  mcuxClRandom_Context_t randomCtx
137 );
138 #endif // MCUXCL_FEATURE_SESSION_HAS_RANDOM
139  /* mcuxClSession_Functions */
143 
144 
145 #ifdef __cplusplus
146 } /* extern "C" */
147 #endif
148 
149 #endif /* MCUXCLSESSION_FUNCTIONS_H_ */
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:133
mcuxClSession_Status_t mcuxClSession_destroy(mcuxClSession_Handle_t pSession)
Destroy a Crypto Library session.
Definition of function identifiers for the flow protection mechanism.
const mcuxClRandom_ModeDescriptor_t * mcuxClRandom_Mode_t
Random data generation mode/algorithm type.
Definition: mcuxClRandom_Types.h:93
mcuxClRandom_ContextDescriptor_t * mcuxClRandom_Context_t
Random context type.
Definition: mcuxClRandom_Types.h:70
uint32_t mcuxClSession_Status_t
Type for mcuxClSession status codes.
Definition: mcuxClSession_Types.h:78
uint32_t mcuxClSession_Rtf_t
Type for mcuxClSession RTF configuration flags.
Definition: mcuxClSession_Types.h:88
mcuxClSession_Status_t mcuxClSession_cleanup(mcuxClSession_Handle_t pSession)
Clean up a Crypto Library session.
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
Provides the API for the CSSL flow protection mechanism.
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition: mcuxCsslFlowProtection.h:81
mcuxClSession_Status_t mcuxClSession_init(mcuxClSession_Handle_t pSession, uint32_t *const pCpuWaBuffer, uint32_t cpuWaLength, uint32_t *const pPkcWaBuffer, uint32_t pkcWaLength)
Initialize a Crypto Library session.
Type definitions for the mcuxClSession component.
mcuxClSession_Status_t mcuxClSession_setRtf(mcuxClSession_Handle_t pSession, uint8_t *const pRtf, mcuxClSession_Rtf_t RtfOptions)
Set the RTF option in a Crypto Library session.