MCUX CLNS
MCUX Crypto Library Normal Secure
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
82
/****************************************************************************/
83
/* Initialization */
84
/****************************************************************************/
85
91
#define MCUX_CSSL_SC_ALLOC_IMPL() \
92
MCUX_CSSL_SC_COUNTER_TYPE_IMPL MCUX_CSSL_SC_COUNTER_NAME
93
101
#define MCUX_CSSL_SC_INIT_IMPL(value) \
102
MCUX_CSSL_SC_ALLOC_IMPL() = (value)
103
104
/****************************************************************************/
105
/* Check */
106
/****************************************************************************/
107
117
#define MCUX_CSSL_SC_CHECK_IMPL(value) \
118
(MCUX_CSSL_SC_CHECK_FAILED_IMPL ^ (MCUX_CSSL_SC_COUNTER_NAME - ((value) + 1u)))
119
120
/****************************************************************************/
121
/* Counter increment */
122
/****************************************************************************/
138
#define MCUX_CSSL_SC_ADD_IMPL(value) \
139
MCUX_CSSL_SC_COUNTER_NAME += (value)
140
150
#define MCUX_CSSL_SC_ADD_ON_CALL_IMPL(value) \
151
MCUX_CSSL_SC_ADD_IMPL(value)
152
160
#define MCUX_CSSL_SC_ADD_0X1_IMPL() \
161
MCUX_CSSL_SC_ADD_IMPL(0x1u)
162
170
#define MCUX_CSSL_SC_ADD_0X10_IMPL() \
171
MCUX_CSSL_SC_ADD_IMPL(0x10u)
172
180
#define MCUX_CSSL_SC_ADD_0X100_IMPL() \
181
MCUX_CSSL_SC_ADD_IMPL(0x100u)
182
183
/****************************************************************************/
184
/* Counter decrement */
185
/****************************************************************************/
201
#define MCUX_CSSL_SC_SUB_IMPL(value) \
202
MCUX_CSSL_SC_COUNTER_NAME -= (value)
203
211
#define MCUX_CSSL_SC_SUB_0X1_IMPL() \
212
MCUX_CSSL_SC_SUB_IMPL(0x1u)
213
221
#define MCUX_CSSL_SC_SUB_0X10_IMPL() \
222
MCUX_CSSL_SC_SUB_IMPL(0x10u)
223
231
#define MCUX_CSSL_SC_SUB_0X100_IMPL() \
232
MCUX_CSSL_SC_SUB_IMPL(0x100u)
233
234
/****************************************************************************/
235
/* Direct access (optional) */
236
/****************************************************************************/
257
#define MCUX_CSSL_SC_VALUE_IMPL() \
258
MCUX_CSSL_SC_COUNTER_NAME
259
272
#define MCUX_CSSL_SC_ASSIGN_IMPL(value) \
273
MCUX_CSSL_SC_COUNTER_NAME = (value)
274
275
276
#endif
/* MCUXCSSLSECURECOUNTER_SW_LOCAL_H_ */
mcuxCsslSecureCounter_SW_Local.h
Generated by
1.8.15