MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxCsslFlowProtection.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2021 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 
19 #ifndef MCUX_CSSL_FLOW_PROTECTION_H_
20 #define MCUX_CSSL_FLOW_PROTECTION_H_
21 
22 /* Include the actual implementation of the flow protection mechanism. */
23 #include <internal/mcuxCsslFlowProtection_Impl.h>
24 
77 #define MCUX_CSSL_FP_PROTECTED_TYPE(resultType) \
78  MCUX_CSSL_FP_PROTECTED_TYPE_IMPL(resultType)
79 
92 #define MCUX_CSSL_FP_COUNTER_STMT(statement) \
93  MCUX_CSSL_FP_COUNTER_STMT_IMPL(statement)
94 
95 
119 #define MCUX_CSSL_FP_FUNCTION_DECL(id) \
120  MCUX_CSSL_FP_FUNCTION_DECL_IMPL(id)
121 
151 #define MCUX_CSSL_FP_FUNCTION_DEF(id) \
152  MCUX_CSSL_FP_FUNCTION_DEF_IMPL(id)
153 
200 #define MCUX_CSSL_FP_FUNCTION_ENTRY(...) \
201  MCUX_CSSL_FP_FUNCTION_ENTRY_IMPL(__VA_ARGS__)
202 
242 #define MCUX_CSSL_FP_FUNCTION_EXIT(...) \
243  MCUX_CSSL_FP_FUNCTION_EXIT_IMPL(__VA_ARGS__)
244 
281 #define MCUX_CSSL_FP_FUNCTION_EXIT_WITH_CHECK(...) \
282  MCUX_CSSL_FP_FUNCTION_EXIT_WITH_CHECK_IMPL(__VA_ARGS__)
283 
321 #define MCUX_CSSL_FP_FUNCTION_EXIT_VOID(...) \
322  MCUX_CSSL_FP_FUNCTION_EXIT_VOID_IMPL(__VA_ARGS__)
323 
331 #define MCUX_CSSL_FP_RESULT(return) \
332  MCUX_CSSL_FP_RESULT_IMPL(return)
333 
344 #define MCUX_CSSL_FP_PROTECTION_TOKEN(return) \
345  MCUX_CSSL_FP_PROTECTION_TOKEN_IMPL(return)
346 
383 #define MCUX_CSSL_FP_FUNCTION_CALL(...) \
384  MCUX_CSSL_FP_FUNCTION_CALL_IMPL(__VA_ARGS__)
385 
418 #define MCUX_CSSL_FP_FUNCTION_CALL_VOID(...) \
419  MCUX_CSSL_FP_FUNCTION_CALL_VOID_IMPL(__VA_ARGS__)
420 
456 #define MCUX_CSSL_FP_FUNCTION_CALL_PROTECTED(...) \
457  MCUX_CSSL_FP_FUNCTION_CALL_PROTECTED_IMPL(__VA_ARGS__)
458 
492 #define MCUX_CSSL_FP_FUNCTION_CALL_VOID_PROTECTED(...) \
493  MCUX_CSSL_FP_FUNCTION_CALL_VOID_PROTECTED_IMPL(__VA_ARGS__)
494 
532 #define MCUX_CSSL_FP_FUNCTION_CALL_BEGIN(...) \
533  MCUX_CSSL_FP_FUNCTION_CALL_BEGIN_IMPL(__VA_ARGS__)
534 
567 #define MCUX_CSSL_FP_FUNCTION_CALL_END(...) \
568  MCUX_CSSL_FP_FUNCTION_CALL_END_IMPL(__VA_ARGS__)
569 
619 #define MCUX_CSSL_FP_FUNCTION_CALLED(...) \
620  MCUX_CSSL_FP_FUNCTION_CALLED_IMPL(__VA_ARGS__)
621 
622 
623 
660 #define MCUX_CSSL_FP_LOOP_DECL(id) \
661  MCUX_CSSL_FP_LOOP_DECL_IMPL(id)
662 
688 #define MCUX_CSSL_FP_LOOP_ITERATION(...) \
689  MCUX_CSSL_FP_LOOP_ITERATION_IMPL(__VA_ARGS__)
690 
723 #define MCUX_CSSL_FP_LOOP_ITERATIONS(id, count) \
724  MCUX_CSSL_FP_LOOP_ITERATIONS_IMPL(id, count)
725 
726 
727 
769 #define MCUX_CSSL_FP_BRANCH_DECL(id) \
770  MCUX_CSSL_FP_BRANCH_DECL_IMPL(id)
771 
808 #define MCUX_CSSL_FP_BRANCH_POSITIVE(...) \
809  MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL(__VA_ARGS__)
810 
847 #define MCUX_CSSL_FP_BRANCH_NEGATIVE(...) \
848  MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL(__VA_ARGS__)
849 
890 #define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE(...) \
891  MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL(__VA_ARGS__)
892 
935 #define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE(...) \
936  MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL(__VA_ARGS__)
937 
938 
939 
992 #define MCUX_CSSL_FP_SWITCH_DECL(id) \
993  MCUX_CSSL_FP_SWITCH_DECL_IMPL(id)
994 
1041 #define MCUX_CSSL_FP_SWITCH_CASE(...) \
1042  MCUX_CSSL_FP_SWITCH_CASE_IMPL(__VA_ARGS__)
1043 
1089 #define MCUX_CSSL_FP_SWITCH_DEFAULT(...) \
1090  MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL(__VA_ARGS__)
1091 
1143 #define MCUX_CSSL_FP_SWITCH_TAKEN(...) \
1144  MCUX_CSSL_FP_SWITCH_TAKEN_IMPL(__VA_ARGS__)
1145 
1195 #define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT(...) \
1196  MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL(__VA_ARGS__)
1197 
1198 
1199 
1232 #define MCUX_CSSL_FP_EXPECT(...) \
1233  MCUX_CSSL_FP_EXPECT_IMPL(__VA_ARGS__)
1234 
1255 #define MCUX_CSSL_FP_CONDITIONAL(condition, ...) \
1256  MCUX_CSSL_FP_CONDITIONAL_IMPL(condition, __VA_ARGS__)
1257 
1258 #endif /* MCUX_CSSL_FLOW_PROTECTION_H_ */