Memory Alignment services.
◆ MEM_ALIGN_MASK
#define MEM_ALIGN_MASK |
( |
|
a | ) |
((size_t)(a) - 1U) |
Alignment mask constant.
- Parameters
-
[in] | a | alignment, must be a power of two |
Definition at line 61 of file chalign.h.
◆ MEM_ALIGN_PREV
#define MEM_ALIGN_PREV |
( |
|
p, |
|
|
|
a |
|
) |
| |
Value:
Aligns to the previous aligned memory address.
- Parameters
-
[in] | p | variable to be aligned |
[in] | a | alignment, must be a power of two |
Definition at line 69 of file chalign.h.
◆ MEM_ALIGN_NEXT
#define MEM_ALIGN_NEXT |
( |
|
p, |
|
|
|
a |
|
) |
| |
Value:
Aligns to the next aligned memory address.
- Parameters
-
[in] | p | variable to be aligned |
[in] | a | alignment, must be a power of two |
Definition at line 80 of file chalign.h.
◆ MEM_IS_ALIGNED
#define MEM_IS_ALIGNED |
( |
|
p, |
|
|
|
a |
|
) |
| (((size_t)(p) & MEM_ALIGN_MASK(a)) == 0U) |
Returns whatever a pointer or memory size is aligned.
- Parameters
-
[in] | p | variable to be aligned |
[in] | a | alignment, must be a power of two |
Definition at line 91 of file chalign.h.
◆ MEM_IS_VALID_ALIGNMENT
#define MEM_IS_VALID_ALIGNMENT |
( |
|
a | ) |
(((size_t)(a) != 0U) && (((size_t)(a) & ((size_t)(a) - 1U)) == 0U)) |
Returns whatever a constant is a valid alignment.
Valid alignments are powers of two.
- Parameters
-
[in] | a | alignment to be checked, must be a constant |
Definition at line 99 of file chalign.h.