MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClSession_Functions.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2025 NXP */
3/* */
4/* SPDX-License-Identifier: BSD-3-Clause */
5/* */
6/* Redistribution and use in source and binary forms, with or without */
7/* modification, are permitted provided that the following conditions are */
8/* met: */
9/* */
10/* 1. Redistributions of source code must retain the above copyright */
11/* notice, this list of conditions and the following disclaimer. */
12/* */
13/* 2. Redistributions in binary form must reproduce the above copyright */
14/* notice, this list of conditions and the following disclaimer in the */
15/* documentation and/or other materials provided with the distribution. */
16/* */
17/* 3. Neither the name of the copyright holder nor the names of its */
18/* contributors may be used to endorse or promote products derived from */
19/* this software without specific prior written permission. */
20/* */
21/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS */
22/* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
23/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
24/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
25/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
26/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
27/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR */
28/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
29/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
30/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
31/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32/*--------------------------------------------------------------------------*/
33
38
39#ifndef MCUXCLSESSION_FUNCTIONS_H_
40#define MCUXCLSESSION_FUNCTIONS_H_
41
42#include <mcuxClCore_Platform.h>
45#include <mcuxClSession_Types.h>
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52/**********************************************
53 * FUNCTIONS
54 **********************************************/
61
82 uint32_t * const pCpuWaBuffer,
83 uint32_t cpuWaLength,
84 uint32_t * const pPkcWaBuffer,
85 uint32_t pkcWaLength
86 /* TBD: sclRandom_Context_t * const rngCtx */
87);
88
101 mcuxClResource_Context_t * pResourceCtx
102);
103
118 mcuxClSession_Channels_t dmaChannels,
119 mcuxClSession_Callback_t pUserCallback,
120 void * pUserData
121);
122
123
124
125
126
127
141);
142
158);
159
172 mcuxClRandom_Mode_t randomMode,
173 mcuxClRandom_Context_t randomCtx
174);
175
176
177
178
198);
199
200
201 /* mcuxClSession_Functions */
205
206
207#ifdef __cplusplus
208} /* extern "C" */
209#endif
210
211#endif /* MCUXCLSESSION_FUNCTIONS_H_ */
Definition of function identifiers for the flow protection mechanism.
Type definitions for the mcuxClResource component.
Type definitions for the mcuxClSession component.
Provides the API for the CSSL flow protection mechanism.
const mcuxClRandom_ModeDescriptor_t * mcuxClRandom_Mode_t
Random data generation mode/algorithm type.
Definition mcuxClRandom_Types.h:114
mcuxClRandom_ContextDescriptor_t * mcuxClRandom_Context_t
Random context type.
Definition mcuxClRandom_Types.h:91
struct mcuxClResource_Context mcuxClResource_Context_t
Resource context type.
Definition mcuxClResource_Types.h:67
mcuxClSession_Status_t mcuxClSession_cleanup(mcuxClSession_Handle_t pSession)
Clean up a Crypto Library session.
mcuxClSession_Status_t mcuxClSession_destroy(mcuxClSession_Handle_t pSession)
Destroy a Crypto Library session.
mcuxClSession_Status_t mcuxClSession_cleanupOnError(mcuxClSession_Handle_t pSession)
Clean up HW Resources after error case.
mcuxClSession_Status_t mcuxClSession_configure_job(mcuxClSession_Handle_t session, mcuxClSession_Channels_t dmaChannels, mcuxClSession_Callback_t pUserCallback, void *pUserData)
Configure the parameters for non-blocking operations (jobs) in this session.
mcuxClSession_Status_t mcuxClSession_setResource(mcuxClSession_Handle_t session, mcuxClResource_Context_t *pResourceCtx)
Set the resource context in a Crypto Library session.
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.
mcuxClSession_Status_t mcuxClSession_setRandom(mcuxClSession_Handle_t session, mcuxClRandom_Mode_t randomMode, mcuxClRandom_Context_t randomCtx)
Function to switch to another random configuration.
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:118
void(* mcuxClSession_Callback_t)(uint32_t status, void *data)
Session callback function pointer type.
Definition mcuxClSession_Types.h:143
uint32_t mcuxClSession_Status_t
Type for mcuxClSession status codes.
Definition mcuxClSession_Types.h:86
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:186
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:158
Session channels type.
Definition mcuxClSession_Types.h:133