39#ifndef MCUX_CSSL_FLOW_PROTECTION_H_
40#define MCUX_CSSL_FLOW_PROTECTION_H_
42#include <mcuxCsslAnalysis.h>
46MCUX_CSSL_ANALYSIS_START_PATTERN_URL_IN_COMMENTS()
115#define MCUX_CSSL_FP_COUNTER_STMT(statement) \
116 MCUX_CSSL_FP_COUNTER_STMT_IMPL(statement)
158#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType) \
159 MCUX_CSSL_FP_PROTECTED_TYPE_IMPL(resultType)
186#define MCUX_CSSL_FP_FUNCTION_DECL(...) \
187 MCUX_CSSL_FP_FUNCTION_DECL_IMPL(__VA_ARGS__)
220#define MCUX_CSSL_FP_FUNCTION_DEF(...) \
221 MCUX_CSSL_FP_FUNCTION_DEF_IMPL(__VA_ARGS__)
256#define MCUX_CSSL_FP_FUNCTION_POINTER(type, definition) \
257 MCUX_CSSL_FP_FUNCTION_POINTER_IMPL(type, definition)
305#define MCUX_CSSL_FP_FUNCTION_ENTRY(...) \
306 MCUX_CSSL_FP_FUNCTION_ENTRY_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
348#define MCUX_CSSL_FP_FUNCTION_EXIT(...) \
349 MCUX_CSSL_FP_FUNCTION_EXIT_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
387#define MCUX_CSSL_FP_FUNCTION_EXIT_WITH_CHECK(...) \
388 MCUX_CSSL_FP_FUNCTION_EXIT_WITH_CHECK_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
427#define MCUX_CSSL_FP_FUNCTION_EXIT_VOID(...) \
428 MCUX_CSSL_FP_FUNCTION_EXIT_VOID_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
442#define MCUX_CSSL_FP_RESULT(...) \
443 MCUX_CSSL_FP_RESULT_IMPL(__VA_ARGS__)
455#define MCUX_CSSL_FP_PROTECTION_TOKEN(return) \
456 MCUX_CSSL_FP_PROTECTION_TOKEN_IMPL(return)
494#define MCUX_CSSL_FP_FUNCTION_CALL(...) \
495 MCUX_CSSL_FP_FUNCTION_CALL_IMPL(__VA_ARGS__)
529#define MCUX_CSSL_FP_FUNCTION_CALL_VOID(...) \
530 MCUX_CSSL_FP_FUNCTION_CALL_VOID_IMPL(__VA_ARGS__)
567#define MCUX_CSSL_FP_FUNCTION_CALL_PROTECTED(...) \
568 MCUX_CSSL_FP_FUNCTION_CALL_PROTECTED_IMPL(__VA_ARGS__)
603#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_PROTECTED(...) \
604 MCUX_CSSL_FP_FUNCTION_CALL_VOID_PROTECTED_IMPL(__VA_ARGS__)
643#define MCUX_CSSL_FP_FUNCTION_CALL_BEGIN(...) \
644 MCUX_CSSL_FP_FUNCTION_CALL_BEGIN_IMPL(__VA_ARGS__)
678#define MCUX_CSSL_FP_FUNCTION_CALL_END(...) \
679 MCUX_CSSL_FP_FUNCTION_CALL_END_IMPL(__VA_ARGS__)
714#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_BEGIN(...) \
715 MCUX_CSSL_FP_FUNCTION_CALL_VOID_BEGIN_IMPL(__VA_ARGS__)
745#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_END(...) \
746 MCUX_CSSL_FP_FUNCTION_CALL_VOID_END_IMPL(__VA_ARGS__)
797#define MCUX_CSSL_FP_FUNCTION_CALLED(...) \
798 MCUX_CSSL_FP_FUNCTION_CALLED_IMPL(__VA_ARGS__)
832#define MCUX_CSSL_FP_FUNCTION_ENTERED(id) \
833 MCUX_CSSL_FP_FUNCTION_ENTERED_IMPL(id)
876#define MCUX_CSSL_FP_LOOP_DECL(id) \
877 MCUX_CSSL_FP_LOOP_DECL_IMPL(id)
904#define MCUX_CSSL_FP_LOOP_ITERATION(...) \
905 MCUX_CSSL_FP_LOOP_ITERATION_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
939#define MCUX_CSSL_FP_LOOP_ITERATIONS(id, count) \
940 MCUX_CSSL_FP_LOOP_ITERATIONS_IMPL(id, count)
1001#define MCUX_CSSL_FP_BRANCH_DECL(id) \
1002 MCUX_CSSL_FP_BRANCH_DECL_IMPL(id)
1041#define MCUX_CSSL_FP_BRANCH_POSITIVE(...) \
1042 MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1065#define MCUX_CSSL_FP_BRANCH_NEGATIVE(...) \
1066 MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1109#define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE(...) \
1110 MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL(__VA_ARGS__)
1137#define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE(...) \
1138 MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL(__VA_ARGS__)
1198#define MCUX_CSSL_FP_SWITCH_DECL(id) \
1199 MCUX_CSSL_FP_SWITCH_DECL_IMPL(id)
1247#define MCUX_CSSL_FP_SWITCH_CASE(...) \
1248 MCUX_CSSL_FP_SWITCH_CASE_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1295#define MCUX_CSSL_FP_SWITCH_DEFAULT(...) \
1296 MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1349#define MCUX_CSSL_FP_SWITCH_TAKEN(...) \
1350 MCUX_CSSL_FP_SWITCH_TAKEN_IMPL(__VA_ARGS__)
1401#define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT(...) \
1402 MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL(__VA_ARGS__)
1440#define MCUX_CSSL_FP_EXPECT(...) \
1441 MCUX_CSSL_FP_EXPECT_IMPL(__VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1463#define MCUX_CSSL_FP_CONDITIONAL(condition, ...) \
1464 MCUX_CSSL_FP_CONDITIONAL_IMPL((condition), __VA_ARGS__, MCUX_CSSL_FP_VOID_EXPECTATION_IMPL())
1493#define MCUX_CSSL_FP_ASSERT(...) \
1494 MCUX_CSSL_FP_ASSERT_IMPL(__VA_ARGS__)
1496MCUX_CSSL_ANALYSIS_STOP_PATTERN_URL_IN_COMMENTS()
Selection of the implementation for the flow protection mechanism.