MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxCsslDataIntegrity.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2023-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 MCUXCSSLDATAINTEGRITY_H_
40#define MCUXCSSLDATAINTEGRITY_H_
41
42#include <mcuxClCore_Macros.h>
43
44/* Include the Secure Counter definitions */
46
47/* Include the actual implementation of the data integrity mechanism. */
49
57
58
64
65/****************************************************************************/
66/* Constants */
67/****************************************************************************/
68
75#define MCUX_CSSL_DI_CHECK_PASSED \
76 MCUX_CSSL_DI_CHECK_PASSED_IMPL
77
84#define MCUX_CSSL_DI_CHECK_FAILED \
85 MCUX_CSSL_DI_CHECK_FAILED_IMPL
86
87/****************************************************************************/
88/* Initialization */
89/****************************************************************************/
90
103#define MCUX_CSSL_DI_INIT(backupValue) \
104 MCUX_CSSL_DI_INIT_IMPL(backupValue)
105
106/****************************************************************************/
107/* Check */
108/****************************************************************************/
109
120#define MCUX_CSSL_DI_CHECK(reference) \
121 MCUX_CSSL_DI_CHECK_IMPL(reference)
122
138#define MCUX_CSSL_DI_CHECK_EXIT(id, reference, fail) \
139 MCUX_CSSL_DI_CHECK_EXIT_IMPL(id, reference, fail)
140
141/****************************************************************************/
142/* Updates */
143/****************************************************************************/
144
150
160#define MCUX_CSSL_DI_RECORD(identifier, value) \
161 MCUX_CSSL_DI_RECORD_IMPL(identifier, value)
162
172#define MCUX_CSSL_DI_EXPUNGE(identifier, value) \
173 MCUX_CSSL_DI_EXPUNGE_IMPL(identifier, value)
174
175/****************************************************************************/
176/* Prevent compiler optimization */
177/****************************************************************************/
178
187#define MCUX_CSSL_DI_DONOTOPTIMIZE(val) \
188 MCUXCLCORE_DONOTOPTIMIZE(val)
189
190#endif /* MCUXCSSLDATAINTEGRITY_H_ */
Definition of macros.
Selection of the implementation for the data integrity mechanism.
Provides the API for the CSSL secure counter mechanism.