MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxCsslFlowProtection.h File Reference

Provides the API for the CSSL flow protection mechanism. More...

Go to the source code of this file.

Macros

#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
 Based on a given base type, builds a return type with flow protection. More...
 
#define MCUX_CSSL_FP_COUNTER_STMT(statement)
 A statement which is only evaluated if a secure counter is used. More...
 
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
 Declaration of a flow protected function. More...
 
#define MCUX_CSSL_FP_FUNCTION_DEF(...)
 Definition of a flow protected function. More...
 
#define MCUX_CSSL_FP_FUNCTION_POINTER(type, definition)
 Definition of a flow protected function pointer. More...
 
#define MCUX_CSSL_FP_FUNCTION_ENTRY(...)
 Flow protection handler for the function entry point. More...
 
#define MCUX_CSSL_FP_FUNCTION_EXIT(...)
 Flow protection handler for the function exit point. More...
 
#define MCUX_CSSL_FP_FUNCTION_EXIT_WITH_CHECK(...)
 Flow protection handler for the function exit point which includes an actual check of the code flow. More...
 
#define MCUX_CSSL_FP_FUNCTION_EXIT_VOID(...)
 Flow protection handler for the exit point of functions with the return type void. More...
 
#define MCUX_CSSL_FP_RESULT(return)
 Extract the result value from a protected return value. More...
 
#define MCUX_CSSL_FP_PROTECTION_TOKEN(return)
 Extract the protection token value from a protected return value. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL(...)
 Call a flow protected function. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_VOID(...)
 Call a flow protected void function. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_PROTECTED(...)
 Call a flow protected function from unprotected code. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_PROTECTED(...)
 Call a flow protected void function from unprotected code. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_BEGIN(...)
 Call a flow protected function and check the protection token. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_END(...)
 End a function call section started by MCUX_CSSL_FP_FUNCTION_CALL_BEGIN. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_BEGIN(...)
 Call a flow protected void function and check the protection token. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALL_VOID_END(...)
 End a void function call section started by MCUX_CSSL_FP_FUNCTION_CALL_VOID_BEGIN. More...
 
#define MCUX_CSSL_FP_FUNCTION_CALLED(...)
 Expectation of a called function. More...
 
#define MCUX_CSSL_FP_FUNCTION_ENTERED(id)
 Expectation implementation of an entered (but not exited) function. More...
 
#define MCUX_CSSL_FP_LOOP_DECL(id)
 Declaration of a flow protected loop. More...
 
#define MCUX_CSSL_FP_LOOP_ITERATION(...)
 Perform a loop iteration. More...
 
#define MCUX_CSSL_FP_LOOP_ITERATIONS(id, count)
 Expected number of loop iterations. More...
 
#define MCUX_CSSL_FP_BRANCH_DECL(id)
 Declaration of a flow protected branch. More...
 
#define MCUX_CSSL_FP_BRANCH_POSITIVE(...)
 Positive scenario for a branch is executed. More...
 
#define MCUX_CSSL_FP_BRANCH_NEGATIVE(...)
 Negative scenario of a branch is executed. More...
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE(...)
 Expectation that positive branch has been taken. More...
 
#define MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE(...)
 Expectation that negative branch has been taken. More...
 
#define MCUX_CSSL_FP_SWITCH_DECL(id)
 Declaration of a flow protected switch. More...
 
#define MCUX_CSSL_FP_SWITCH_CASE(...)
 Case that is being handled from a switch. More...
 
#define MCUX_CSSL_FP_SWITCH_DEFAULT(...)
 Case that is being handled from a switch. More...
 
#define MCUX_CSSL_FP_SWITCH_TAKEN(...)
 Expected that a specific case is handled from a switch. More...
 
#define MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT(...)
 Expected that default case is handled from a switch. More...
 
#define MCUX_CSSL_FP_EXPECT(...)
 Declaration(s) of expected code flow behavior. More...
 
#define MCUX_CSSL_FP_CONDITIONAL(condition, ...)
 Handling of conditionally expected code flow behavior. More...
 
#define MCUX_CSSL_FP_ASSERT(...)
 Assert an expected state of the code flow. More...
 

Detailed Description

Provides the API for the CSSL flow protection mechanism.