21#ifndef MCUXCLOSCCA_MEMORY_H_
22#define MCUXCLOSCCA_MEMORY_H_
24#include <mcuxClConfig.h>
32#define MCUXCLOSCCA_SIZE_ALIGN_OFFSET (sizeof(uint32_t) - 1U)
34#define mcuxClOscca_alignAddress(address) \
35 MCUX_CSSL_ANALYSIS_START_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER("The resulting address is carefully calculated, the cast to a pointer-type is safe.") \
36 ((uint8_t *)( (((uint32_t)(address)) + (sizeof(uint32_t) - 1U)) \
37 & ((uint32_t)(~(sizeof(uint32_t) - 1U))) )) \
38 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER()
40#define mcuxClOscca_alignSize(size) \
41 ((uint32_t)(((uint32_t)(size)) + (sizeof(uint32_t) - 1U)) \
42 & ((uint32_t)(~(sizeof(uint32_t) - 1U))) )
44#define mcuxClOscca_alignAddressWithOffset(address, offset) \
45 MCUX_CSSL_ANALYSIS_START_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER("The resulting address is carefully calculated, the cast to a pointer-type is safe.") \
46 ((uint8_t *)( (((uint32_t)(address) + (uint32_t)(offset)) + (sizeof(uint32_t) - 1U)) \
47 & ((uint32_t)(~(sizeof(uint32_t) - 1U))) )) \
48 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER()
50#define mcuxClOscca_alignAddressToBoundary(address, boundary) \
51 ((uint8_t *)( (((uint32_t)(address)) + (boundary - 1U)) \
52 & ((uint32_t)(~(boundary - 1U))) ))
Definition of function identifiers for the flow protection mechanism.
Provides the API for the CSSL flow protection mechanism.
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:125
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:81