LibJuno 0.1.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
JUNO_MEMORY_BLOCK_TAG Struct Reference

Structure representing a block-based memory allocator. Manages a fixed-size memory area along with associated free memory tracking. More...

#include <memory_types.h>

Collaboration diagram for JUNO_MEMORY_BLOCK_TAG:

Data Fields

JUNO_MEMORY_ALLOC_HDR_T tHdr
 Header indicating the allocation type.
 
uint8_t * pvMemory
 Pointer to the allocated memory area.
 
JUNO_MEMORY_BLOCK_METADATA_TptMetadata
 Array of metadata for each block.
 
size_t zTypeSize
 Size of each block element.
 
size_t zLength
 Total number of blocks available.
 
size_t zUsed
 Current count of allocated blocks.
 
size_t zFreed
 Current count of freed blocks in the free stack.
 
 DECLARE_FAILURE_HANDLER
 Macro to declare a failure handler.
 

Detailed Description

Structure representing a block-based memory allocator. Manages a fixed-size memory area along with associated free memory tracking.

Field Documentation

◆ DECLARE_FAILURE_HANDLER

JUNO_MEMORY_BLOCK_TAG::DECLARE_FAILURE_HANDLER

Macro to declare a failure handler.

◆ ptMetadata

JUNO_MEMORY_BLOCK_METADATA_T* JUNO_MEMORY_BLOCK_TAG::ptMetadata

Array of metadata for each block.

◆ pvMemory

uint8_t* JUNO_MEMORY_BLOCK_TAG::pvMemory

Pointer to the allocated memory area.

◆ tHdr

JUNO_MEMORY_ALLOC_HDR_T JUNO_MEMORY_BLOCK_TAG::tHdr

Header indicating the allocation type.

◆ zFreed

size_t JUNO_MEMORY_BLOCK_TAG::zFreed

Current count of freed blocks in the free stack.

◆ zLength

size_t JUNO_MEMORY_BLOCK_TAG::zLength

Total number of blocks available.

◆ zTypeSize

size_t JUNO_MEMORY_BLOCK_TAG::zTypeSize

Size of each block element.

◆ zUsed

size_t JUNO_MEMORY_BLOCK_TAG::zUsed

Current count of allocated blocks.


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