R_RTOS  0.1
DistributedRealTimeOperatingSystemfortheARMCortexMArchitecture

Contains the full information about the memory block. More...

#include <R_RTOS_memMngr.h>

Data Fields

MemFlags flagsForMemBlock
 Contains the most important flags for handling this block of memory. More...
 
MemFlags additionalFlags
 Contains flags for handling neighbors of this buddy block. More...
 
MemIndex nxtMemBlck
 index of the next memory block
 
MemIndex prvMemBlck
 index of the previous memory block
 

Detailed Description

Contains the full information about the memory block.

Used to handle a buddy block of memory. Pointers are used for fast traversal, insertion and deletion of nodes.

Field Documentation

memMngrHead::additionalFlags

Contains flags for handling neighbors of this buddy block.

BIT Name Purpose
0 IsBlckBeg Indicates that the block is at the beginning of a BIGGEST_BLCK buddy
1 IsBlckLast Indicates that the block is the last block in the list
2 PRV 4 B Indicates the size of the adjacent previous block
3 PRV 8 B Indicates the size of the adjacent previous block
4 PRV 16 B Indicates the size of the adjacent previous block
5 PRV 32 B Indicates the size of the adjacent previous block
6 PRV 64 B Indicates the size of the adjacent previous block
7 PRV 128 B Indicates the size of the adjacent previous block
8 PRV 256 B Indicates the size of the adjacent previous block
9 PRV 512 B Indicates the size of the adjacent previous block
10 PRV 1024 B Indicates the size of the adjacent previous block
11 PRV 2048 B Indicates the size of the adjacent previous block
12 nxtSplit Indicates that the adjacent next block is split
13 prevSplit Indicates that the adjacent previous block is split
14 bggrMrgd deprecated
15 Cached Memory Block is in the object cache
memMngrHead::flagsForMemBlock

Contains the most important flags for handling this block of memory.

BIT Name Purpose
0 IsTaken Indicates that the block is either still available or already taken
1 IsLower Indicates that the block is the lower buddy
2 4 Byte Indicates size of the block
3 8 Byte Indicates size of the block
4 16 Byte Indicates size of the block
5 32 Byte Indicates size of the block
6 64 Byte Indicates size of the block
7 128 Byte Indicates size of the block
8 256 Byte Indicates size of the block
9 512 Byte Indicates size of the block
10 1024 Byte Indicates size of the block
11 2048 Byte Indicates size of the block
12 SPLIT Indicates that the block is split into buddies
13 MERGED Indicates that the block is merged into a block bigger than BIGGEST_BLCK
14 PrevTaken Indicates that the adjacent previous block is either still available or already taken
15 NxtTaken Indicates that the adjacent next block is either still available or already taken

The documentation for this struct was generated from the following file: