MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxCsslSecureCounter.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2023 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 MCUXCSSLSECURECOUNTER_H_
40#define MCUXCSSLSECURECOUNTER_H_
41
42/* Include the actual implementation of the secure counter mechanism. */
44
52
53
61
62/****************************************************************************/
63/* Constants */
64/****************************************************************************/
65
72#define MCUX_CSSL_SC_CHECK_PASSED \
73 MCUX_CSSL_SC_CHECK_PASSED_IMPL
74
81#define MCUX_CSSL_SC_CHECK_FAILED \
82 MCUX_CSSL_SC_CHECK_FAILED_IMPL
83
90#define MCUX_CSSL_SC_VALUE_TYPE \
91 MCUX_CSSL_SC_VALUE_TYPE_IMPL
92
93/****************************************************************************/
94/* Initialization */
95/****************************************************************************/
96
103#define MCUX_CSSL_SC_ALLOC() \
104 MCUX_CSSL_SC_ALLOC_IMPL()
105
114#define MCUX_CSSL_SC_INIT(value) \
115 MCUX_CSSL_SC_INIT_IMPL(value)
116
117/****************************************************************************/
118/* Check */
119/****************************************************************************/
120
131#define MCUX_CSSL_SC_CHECK(reference) \
132 MCUX_CSSL_SC_CHECK_IMPL(reference)
133
134/****************************************************************************/
135/* Counter increment */
136/****************************************************************************/
142
156#define MCUX_CSSL_SC_ADD(value) \
157 MCUX_CSSL_SC_ADD_IMPL(value)
158
169#define MCUX_CSSL_SC_ADD_ON_CALL(value) \
170 MCUX_CSSL_SC_ADD_ON_CALL_IMPL(value)
171
183#define MCUX_CSSL_SC_ADD_0x1() \
184 MCUX_CSSL_SC_ADD_0x1_IMPL()
185
197#define MCUX_CSSL_SC_ADD_0x10() \
198 MCUX_CSSL_SC_ADD_0x10_IMPL()
199
211#define MCUX_CSSL_SC_ADD_0x100() \
212 MCUX_CSSL_SC_ADD_0x100_IMPL()
213
214/****************************************************************************/
215/* Counter decrement */
216/****************************************************************************/
222
236#define MCUX_CSSL_SC_SUB(value) \
237 MCUX_CSSL_SC_SUB_IMPL(value)
238
250#define MCUX_CSSL_SC_SUB_0x1() \
251 MCUX_CSSL_SC_SUB_0x1_IMPL()
252
264#define MCUX_CSSL_SC_SUB_0x10() \
265 MCUX_CSSL_SC_SUB_0x10_IMPL()
266
278#define MCUX_CSSL_SC_SUB_0x100() \
279 MCUX_CSSL_SC_SUB_0x100_IMPL()
280
281/****************************************************************************/
282/* Direct access (optional) */
283/****************************************************************************/
292
305#define MCUX_CSSL_SC_VALUE() \
306 MCUX_CSSL_SC_VALUE_IMPL()
307
321#define MCUX_CSSL_SC_ASSIGN(value) \
322 MCUX_CSSL_SC_ASSIGN_IMPL(value)
323
324#endif /* MCUXCSSLSECURECOUNTER_H_ */
Selection of the implementation for the secure counter mechanism.