MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClSession_Types.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_TYPES_H_
20 #define MCUXCLSESSION_TYPES_H_
21 
22 #include <mcuxClCore_Platform.h>
24 #include <mcuxCsslFlowProtection.h>
25 
26 #ifdef MCUXCL_FEATURE_SESSION_HAS_RANDOM
27 #include <mcuxClRandom_Types.h>
28 #endif /* MCUXCL_FEATURE_SESSION_HAS_RANDOM */
29 
30 /**********************************************
31  * CONSTANTS
32  **********************************************/
44 #define MCUXCLSESSION_STATUS_OK ((mcuxClSession_Status_t) 0x0EEE2E03u)
45 #define MCUXCLSESSION_STATUS_ERROR ((mcuxClSession_Status_t) 0x0EEE5330u)
46 #define MCUXCLSESSION_STATUS_HW_UNAVAILABLE ((mcuxClSession_Status_t) 0x0EEE5334u)
47 
53 #define MCUXCLSESSION_RTF_UPDATE_TRUE ((mcuxClSession_Rtf_t) 0xF0F00F0Fu )
54 #define MCUXCLSESSION_RTF_UPDATE_FALSE ((mcuxClSession_Rtf_t) 0x0F0F0F0Fu )
55 
63 /* mcuxClSession_Constants */
64 
65 /**********************************************
66  * TYPEDEFS
67  **********************************************/
78 typedef uint32_t mcuxClSession_Status_t;
79 
84 
88 typedef uint32_t mcuxClSession_Rtf_t;
89 
93 typedef struct mcuxClSession_WorkArea
94 {
95  uint32_t * buffer;
96  uint32_t size;
97  uint32_t used;
98  uint32_t dirty;
100 
105 {
106  uint32_t securityCounter;
108 
113 
114 
115 
120 {
123 #ifdef MCUXCL_FEATURE_SESSION_HAS_RANDOM
124  mcuxClRandom_Config_t randomCfg;
125 #endif /* MCUXCL_FEATURE_SESSION_HAS_RANDOM */
127  uint8_t *pRtf;
129 
134 
135  /* mcuxClSession_Types */
139 
140 #endif /* MCUXCLSESSION_TYPES_H_ */
uint32_t mcuxClSession_Rtf_t
Type for mcuxClSession RTF configuration flags.
Definition: mcuxClSession_Types.h:88
Type for mcuxClSession workareas flags.
Definition: mcuxClSession_Types.h:93
uint32_t mcuxClSession_SecurityOptions_t
Type for Session security options.
Definition: mcuxClSession_Types.h:112
Random config structure.
Definition: mcuxClRandom_Types.h:100
struct mcuxClSession_Descriptor mcuxClSession_Descriptor_t
Type for mcuxClSession Descriptor.
Type for mcuxClSession Descriptor.
Definition: mcuxClSession_Types.h:119
struct mcuxClSession_WorkArea mcuxClSession_WorkArea_t
Type for mcuxClSession workareas flags.
uint32_t * buffer
Pointer to the starting address of the workarea buffer.
Definition: mcuxClSession_Types.h:95
mcuxClSession_Status_t mcuxClSession_Status_Protected_t
Deprecated type for mcuxClSession protected status codes.
Definition: mcuxClSession_Types.h:83
uint32_t securityCounter
Security counter.
Definition: mcuxClSession_Types.h:106
Type for mcuxClSession security context.
Definition: mcuxClSession_Types.h:104
mcuxClSession_Rtf_t rtf
Configuration of the RTF.
Definition: mcuxClSession_Types.h:126
uint32_t mcuxClSession_Status_t
Type for mcuxClSession status codes.
Definition: mcuxClSession_Types.h:78
uint32_t size
Size of the workarea buffer in words (uint32_t)
Definition: mcuxClSession_Types.h:96
struct mcuxClSession_SecurityContext mcuxClSession_SecurityContext_t
Type for mcuxClSession security context.
uint32_t dirty
Maximum used portion of the workarea buffer in words (uint32_t)
Definition: mcuxClSession_Types.h:98
mcuxClSession_WorkArea_t cpuWa
Workarea for the CPU.
Definition: mcuxClSession_Types.h:121
Definition of function identifiers for the flow protection mechanism.
Provides the API for the CSSL flow protection mechanism.
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:133
mcuxClSession_WorkArea_t pkcWa
Workarea for the PKC.
Definition: mcuxClSession_Types.h:122
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
uint32_t used
Used portion of the workarea buffer in words (uint32_t)
Definition: mcuxClSession_Types.h:97