LibJuno 1.0.1
LibJuno is a lightweight C11 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_memory_block.c File Reference
#include "juno/memory/memory_block.h"
#include "juno/macros.h"
#include "juno/status.h"
#include "juno/memory/memory_api.h"
#include <stddef.h>
#include <stdint.h>
Include dependency graph for juno_memory_block.c:

Functions

static JUNO_STATUS_T Verify (JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory)
 
static JUNO_RESULT_POINTER_T Juno_MemoryBlkGet (JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, size_t zSize)
 
static JUNO_STATUS_T Juno_MemoryBlkUpdate (JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, JUNO_POINTER_T *ptMemory, size_t zNewSize)
 
static JUNO_STATUS_T Juno_MemoryBlkPut (JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, JUNO_POINTER_T *ptMemory)
 
JUNO_STATUS_T JunoMemory_BlockInit (JUNO_MEMORY_ALLOC_BLOCK_T *ptJunoMemoryBlock, const JUNO_POINTER_API_T *ptPointerApi, void *pvMemory, JUNO_MEMORY_BLOCK_METADATA_T *ptMetadata, size_t zTypeSize, size_t zAlignment, size_t zLength, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData)
 Initialize a fixed-size block allocator over a caller-supplied region.
 

Variables

static const JUNO_MEMORY_ALLOC_API_T tJunoMemoryBlockApi
 

Function Documentation

◆ Juno_MemoryBlkGet()

static JUNO_RESULT_POINTER_T Juno_MemoryBlkGet ( JUNO_MEMORY_ALLOC_ROOT_T ptJunoMemory,
size_t  zSize 
)
static

◆ Juno_MemoryBlkPut()

static JUNO_STATUS_T Juno_MemoryBlkPut ( JUNO_MEMORY_ALLOC_ROOT_T ptJunoMemory,
JUNO_POINTER_T ptMemory 
)
static

◆ Juno_MemoryBlkUpdate()

static JUNO_STATUS_T Juno_MemoryBlkUpdate ( JUNO_MEMORY_ALLOC_ROOT_T ptJunoMemory,
JUNO_POINTER_T ptMemory,
size_t  zNewSize 
)
static

◆ Verify()

static JUNO_STATUS_T Verify ( JUNO_MEMORY_ALLOC_ROOT_T ptJunoMemory)
inlinestatic

Variable Documentation

◆ tJunoMemoryBlockApi

static const JUNO_MEMORY_ALLOC_API_T tJunoMemoryBlockApi
static
Initial value:
= {
}
static JUNO_RESULT_POINTER_T Juno_MemoryBlkGet(JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, size_t zSize)
Definition juno_memory_block.c:65
static JUNO_STATUS_T Juno_MemoryBlkUpdate(JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, JUNO_POINTER_T *ptMemory, size_t zNewSize)
Definition juno_memory_block.c:138
static JUNO_STATUS_T Juno_MemoryBlkPut(JUNO_MEMORY_ALLOC_ROOT_T *ptJunoMemory, JUNO_POINTER_T *ptMemory)
Definition juno_memory_block.c:156