MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClCore_Examples.h
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
34#ifndef MCUXCLCORE_EXAMPLES_H_
35#define MCUXCLCORE_EXAMPLES_H_
36
37#include <mcuxClCore_Platform.h>
38#include <mcuxClCore_Macros.h>
40
41typedef void (*Interrupt_Callback_t)(void);
42void IsrInterface_HandlerInstall(Interrupt_Callback_t callback,uint8_t Interrupt_number);
43void IsrInterface_Enable(uint32_t IRQ_Number);
44void IsrInterface_Disable(uint32_t IRQ_Number);
45
50// TODO CLNS-3599: #define MCUXCLEXAMPLE_FUNCTION(_name) uint32_t _name(void)
51#define MCUXCLEXAMPLE_FUNCTION(_name) \
52MCUX_CSSL_ANALYSIS_START_PATTERN_EXAMPLE_FUNCTION() \
53bool _name(void); \
54bool _name(void) \
55MCUX_CSSL_ANALYSIS_STOP_PATTERN_EXAMPLE_FUNCTION()
56
61#define MCUXCLEXAMPLE_STATUS_OK true // TODO CLNS-3599: 0xC001C0DEu
62
68#define MCUXCLEXAMPLE_OK MCUXCLEXAMPLE_STATUS_OK
69
74#define MCUXCLEXAMPLE_STATUS_ERROR false // TODO CLNS-3599: 0xEEEEEEEEu
75
81#define MCUXCLEXAMPLE_ERROR MCUXCLEXAMPLE_STATUS_ERROR
82
83
88#define MCUXCLEXAMPLE_STATUS_FAILURE false // TODO CLNS-3599: 0xFFFFFFFFu
89
95#define MCUXCLEXAMPLE_FAILURE MCUXCLEXAMPLE_STATUS_FAILURE
96
100MCUX_CSSL_FP_FUNCTION_DEF(mcuxClCore_assertEqual)
101static inline bool mcuxClCore_assertEqual(const uint8_t * const x, const uint8_t * const y, uint32_t length)
102{
103 for (uint32_t i = 0; i < length; ++i)
104 {
105 if (x[i] != y[i])
106 {
107 return false;
108 }
109 }
110
111 return true;
112}
113
114#endif /* MCUXCLCORE_EXAMPLES_H_ */
Definition of macros.
Provides the API for the CSSL flow protection mechanism.
#define MCUX_CSSL_FP_FUNCTION_DEF(...)
Definition of a flow protected function.
Definition mcuxCsslFlowProtection.h:220