MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxCsslFlowProtection_SecureCounter_Common.h File Reference

Counter based implementation for the flow protection mechanism, for a local security counter. More...

#include <mcuxCsslCPreProcessor.h>
#include <mcuxCsslAnalysis.h>
#include <mcuxCsslSecureCounter.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define MCUX_CSSL_FP_DECL_NAME(type, id)
 Construct a name based on type and id.
 
#define MCUX_CSSL_FP_DECL_IMPL(type, id)
 Generic flow protected entity declaration implementation.
 
#define MCUX_CSSL_FP_ID_IMPL()
 Generic identifier generator based on current line number.
 
#define MCUX_CSSL_FP_EXPECTATIONS(...)
 Expectation aggregation.
 
#define MCUX_CSSL_FP_COUNTER_STMT_IMPL(statement)
 
#define MCUX_CSSL_FP_CONDITIONAL_IMPL(condition, ...)
 Conditional expectation aggregation.
 
#define MCUX_CSSL_FP_VOID_EXPECTATION_IMPL()
 Implementation of expectation of nothing.
 
#define MCUX_CSSL_FP_EXPECT_IMPL(...)
 Declaration(s) of expected code flow behavior.
 
#define MCUX_CSSL_FP_FUNCTION_ID(id)
 Generator for function identifiers.
 
#define MCUX_CSSL_FP_FUNCTION_ID_ENTRY_MASK
 Mask to be used to derive entry part from a function identifier.
 
#define MCUX_CSSL_FP_FUNCTION_ID_ENTRY_PART(id)
 Part of the function identifier to be used at function entry.
 
#define MCUX_CSSL_FP_FUNCTION_ID_EXIT_PART(id)
 Part of the function identifier to be used at function exit.
 
#define MCUX_CSSL_FP_FUNCTION_DECL_IMPL(...)
 Declaration implementation of a flow protected function.
 
#define MCUX_CSSL_FP_FUNCTION_VALUE(id)
 Macro to get the value for a given function.
 
#define MCUX_CSSL_FP_FUNCTION_DEF_IMPL(...)
 Definition implementation of a flow protected function.
 
#define MCUX_CSSL_FP_FUNCTION_POINTER_IMPL(type, definition)
 Definition implementation of a flow protected function pointer.
 
#define MCUX_CSSL_FP_RESULT_OFFSET
 Offset of the result in the return value.
 
#define MCUX_CSSL_FP_RESULT_MASK
 Bitmask of the result in the return value.
 
#define MCUX_CSSL_FP_RESULT_VALUE(result)
 Encode a result value for a protected return value.
 
#define MCUX_CSSL_FP_RESULT_IMPL2(type, return)
 Extract the result value from a protected return value.
 
#define MCUX_CSSL_FP_RESULT_IMPL1(return)
 Extract the result value from a protected return value.
 
#define MCUX_CSSL_FP_RESULT_IMPL(...)
 Extract the result value from a protected return value.
 
#define MCUX_CSSL_FP_PROTECTION_OFFSET
 Offset of the protection token in the return value.
 
#define MCUX_CSSL_FP_PROTECTION_MASK
 Bitmask of the protection token in the return value.
 
#define MCUX_CSSL_FP_PROTECTION_TOKEN_VALUE(token)
 Encode a protection token for a protected return value.
 
#define MCUX_CSSL_FP_PROTECTION_TOKEN_IMPL(return)
 Extract the protection token value from a protected return value.
 
#define MCUX_CSSL_FP_COUNTER_COMPRESSED()
 Compressed version of the secure counter that can be used as a protection token.
 
#define MCUX_CSSL_FP_FUNCTION_CALLED_IMPL(id)
 Expectation implementation of a called function.
 
#define MCUX_CSSL_FP_FUNCTION_ENTERED_IMPL(id)
 Expectation implementation of an entered (but not exited) function.
 
#define MCUX_CSSL_FP_LOOP_ID(id)
 Generator for loop identifiers.
 
#define MCUX_CSSL_FP_LOOP_DECL_IMPL(id)
 Declaration implementation of a flow protected loop.
 
#define MCUX_CSSL_FP_LOOP_VALUE(id)
 Macro to get the value for a given loop.
 
#define MCUX_CSSL_FP_LOOP_ITERATION_IMPLn(id, ...)
 Event implementation of a loop iteration (with expectations).
 
#define MCUX_CSSL_FP_LOOP_ITERATION_IMPL1(id)
 Event implementation of a loop iteration (without expectations).
 
#define MCUX_CSSL_FP_LOOP_ITERATION_IMPL(...)
 Event implementation of a loop iteration.
 
#define MCUX_CSSL_FP_LOOP_ITERATIONS_IMPL(id, count)
 Expectation implementation of a number of loop iterations.
 
#define MCUX_CSSL_FP_BRANCH_ID(id)
 Generator for branch identifiers.
 
#define MCUX_CSSL_FP_BRANCH_DECL_IMPL(id)
 Declaration implementation of a flow protected branch.
 
#define MCUX_CSSL_FP_BRANCH_VALUE(id)
 Macro to get the value for a given branch.
 
#define MCUX_CSSL_FP_BRANCH_POSITIVE_VALUE
 Value to use for the positive scenario.
 
#define MCUX_CSSL_FP_BRANCH_NEGATIVE_VALUE
 Value to use for the negative scenario.
 
#define MCUX_CSSL_FP_BRANCH_SCENARIO_IMPL(id, scenario, ...)
 Event implementation for the execution of a specified branch scenario.
 
#define MCUX_CSSL_FP_BRANCH_POSITIVE_IMPLn(id, ...)
 Event implementation for the execution of a positive branch scenario (with expectations).
 
#define MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL1(id)
 Event implementation for the execution of a positive branch scenario (without expectations).
 
#define MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL(...)
 Event implementation for the execution of a positive branch scenario.
 
#define MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPLn(id, ...)
 Event implementation for the execution of a negative branch scenario (with expectations).
 
#define MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL1(id)
 Event implementation for the execution of a negative branch scenario (without expectations).
 
#define MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL(...)
 Event implementation for the execution of a negative branch scenario.
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_IMPL(id, scenario, condition)
 Expectation implementation of an executed specified branch scenario.
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL2(id, condition)
 Expectation implementation of an executed positive branch (with condition).
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL1(id)
 Expectation implementation of an executed positive branch (without condition).
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL(...)
 Expectation implementation of an executed positive branch.
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL2(id, condition)
 Expectation implementation of an executed negative branch (with condition).
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL1(id)
 Expectation implementation of an executed negative branch (without condition).
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL(...)
 Expectation implementation of an executed negative branch.
 
#define MCUX_CSSL_FP_SWITCH_ID(id)
 Generator for switch identifiers.
 
#define MCUX_CSSL_FP_SWITCH_DECL_IMPL(id)
 Declaration implementation of a flow protected switch.
 
#define MCUX_CSSL_FP_SWITCH_VALUE(id)
 Macro to get the value for a given switch.
 
#define MCUX_CSSL_FP_SWITCH_CASE_IMPLn(id, case, ...)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_CASE_IMPL2(id, case)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_CASE_IMPL(...)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_DEFAULT_VALUE
 Value to use for default case.
 
#define MCUX_CSSL_FP_SWITCH_DEFAULT_IMPLn(id, ...)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL1(id)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL(...)
 Case that is being handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_IMPL3(id, case, condition)
 Expected that a specific case is handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_IMPL2(id, case)
 Expected that a specific case is handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_IMPL(...)
 Expected that a specific case is handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL2(id, condition)
 Expected that default case is handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL1(id)
 Expected that default case is handled from a switch.
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL(...)
 Expected that default case is handled from a switch.
 
#define MCUX_CSSL_FP_ASSERT_CALLBACK()
 Fallback assert callback implementation.
 

Detailed Description

Counter based implementation for the flow protection mechanism, for a local security counter.

Macro Definition Documentation

◆ MCUX_CSSL_FP_FUNCTION_POINTER_IMPL

#define MCUX_CSSL_FP_FUNCTION_POINTER_IMPL (   type,
  definition 
)

Definition implementation of a flow protected function pointer.

Parameters
typeIdentifier for the function pointer type that is flow protected.
definitionActual type definition of the function pointer type.