MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxCsslSecureCounter_SW_Local.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
20
#ifndef MCUXCSSLSECURECOUNTER_SW_LOCAL_H_
21
#define MCUXCSSLSECURECOUNTER_SW_LOCAL_H_
22
45
#define MCUX_CSSL_SC_COUNTER_NAME \
46
mcuxCsslSecureCounter
47
48
/****************************************************************************/
49
/* Constants */
50
/****************************************************************************/
51
57
#define MCUX_CSSL_SC_CHECK_PASSED_IMPL (0xA5A5A5A5u)
58
64
#define MCUX_CSSL_SC_CHECK_FAILED_IMPL (~ MCUX_CSSL_SC_CHECK_PASSED_IMPL)
65
71
#define MCUX_CSSL_SC_COUNTER_TYPE_IMPL \
72
uint32_t
73
79
#define MCUX_CSSL_SC_VALUE_TYPE_IMPL \
80
static const uint32_t
81
87
#define MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL \
88
uint32_t
89
90
/****************************************************************************/
91
/* Initialization */
92
/****************************************************************************/
93
99
#define MCUX_CSSL_SC_ALLOC_IMPL() \
100
MCUX_CSSL_SC_COUNTER_TYPE_IMPL MCUX_CSSL_SC_COUNTER_NAME
101
109
#define MCUX_CSSL_SC_INIT_IMPL(value) \
110
MCUX_CSSL_ANALYSIS_START_PATTERN_SC_INTEGER_OVERFLOW() \
111
MCUX_CSSL_SC_ALLOC_IMPL() = ((MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL) (value)) \
112
MCUX_CSSL_ANALYSIS_STOP_PATTERN_SC_INTEGER_OVERFLOW()
113
114
/****************************************************************************/
115
/* Check */
116
/****************************************************************************/
117
127
#define MCUX_CSSL_SC_CHECK_IMPL(value) \
128
MCUX_CSSL_ANALYSIS_START_PATTERN_SC_INTEGER_OVERFLOW() \
129
(MCUX_CSSL_SC_CHECK_FAILED_IMPL ^ (MCUX_CSSL_SC_COUNTER_NAME - (((MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL) (value)) + 1u))) \
130
MCUX_CSSL_ANALYSIS_STOP_PATTERN_SC_INTEGER_OVERFLOW()
131
132
/****************************************************************************/
133
/* Counter increment */
134
/****************************************************************************/
150
#define MCUX_CSSL_SC_ADD_IMPL(value) \
151
MCUX_CSSL_ANALYSIS_START_PATTERN_SC_INTEGER_OVERFLOW() \
152
MCUX_CSSL_SC_COUNTER_NAME += (MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL) (value) \
153
MCUX_CSSL_ANALYSIS_STOP_PATTERN_SC_INTEGER_OVERFLOW()
154
164
#define MCUX_CSSL_SC_ADD_ON_CALL_IMPL(value) \
165
MCUX_CSSL_SC_ADD_IMPL(value)
166
174
#define MCUX_CSSL_SC_ADD_0X1_IMPL() \
175
MCUX_CSSL_SC_ADD_IMPL(0x1u)
176
184
#define MCUX_CSSL_SC_ADD_0X10_IMPL() \
185
MCUX_CSSL_SC_ADD_IMPL(0x10u)
186
194
#define MCUX_CSSL_SC_ADD_0X100_IMPL() \
195
MCUX_CSSL_SC_ADD_IMPL(0x100u)
196
197
/****************************************************************************/
198
/* Counter decrement */
199
/****************************************************************************/
215
#define MCUX_CSSL_SC_SUB_IMPL(value) \
216
MCUX_CSSL_ANALYSIS_START_PATTERN_SC_INTEGER_OVERFLOW() \
217
MCUX_CSSL_SC_COUNTER_NAME -= (MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL) (value) \
218
MCUX_CSSL_ANALYSIS_STOP_PATTERN_SC_INTEGER_OVERFLOW()
219
227
#define MCUX_CSSL_SC_SUB_0X1_IMPL() \
228
MCUX_CSSL_SC_SUB_IMPL(0x1u)
229
237
#define MCUX_CSSL_SC_SUB_0X10_IMPL() \
238
MCUX_CSSL_SC_SUB_IMPL(0x10u)
239
247
#define MCUX_CSSL_SC_SUB_0X100_IMPL() \
248
MCUX_CSSL_SC_SUB_IMPL(0x100u)
249
250
/****************************************************************************/
251
/* Direct access (optional) */
252
/****************************************************************************/
273
#define MCUX_CSSL_SC_VALUE_IMPL() \
274
MCUX_CSSL_SC_COUNTER_NAME
275
288
#define MCUX_CSSL_SC_ASSIGN_IMPL(value) \
289
MCUX_CSSL_ANALYSIS_START_PATTERN_SC_INTEGER_OVERFLOW() \
290
MCUX_CSSL_SC_COUNTER_NAME = (MCUX_CSSL_SC_BALANCING_VALUE_TYPE_IMPL) (value) \
291
MCUX_CSSL_ANALYSIS_STOP_PATTERN_SC_INTEGER_OVERFLOW()
292
293
#endif
/* MCUXCSSLSECURECOUNTER_SW_LOCAL_H_ */
mcuxCsslSecureCounter_SW_Local.h
Generated by
1.9.7