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

API for generic memory allocation operations. More...

#include <memory_api.h>

Data Fields

JUNO_STATUS_T(* Get )(JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *pvRetAddr, size_t zSize)
 Allocates memory using the specified memory allocation method.
 
JUNO_STATUS_T(* Update )(JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *ptMemory, size_t zNewSize)
 Updates an existing memory allocation to a new size.
 
JUNO_STATUS_T(* Put )(JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *pvAddr)
 Frees an allocated memory block.
 

Detailed Description

API for generic memory allocation operations.

This structure holds pointers to functions that implement operations for generic memory allocation including allocation, update, and free.

Field Documentation

◆ Get

JUNO_STATUS_T(* JUNO_MEMORY_API_TAG::Get) (JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *pvRetAddr, size_t zSize)

Allocates memory using the specified memory allocation method.

Parameters
ptMemPointer to the memory allocation structure.
pvRetAddrPointer to a memory descriptor where allocation details will be stored.
zSizeSize of the memory block to allocate in bytes.
Returns
JUNO_STATUS_T Status of the allocation operation.

◆ Put

JUNO_STATUS_T(* JUNO_MEMORY_API_TAG::Put) (JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *pvAddr)

Frees an allocated memory block.

Parameters
ptMemPointer to the memory allocation structure.
pvAddrPointer to the memory block to free.
Returns
JUNO_STATUS_T Status of the free operation.

◆ Update

JUNO_STATUS_T(* JUNO_MEMORY_API_TAG::Update) (JUNO_MEMORY_ALLOC_T *ptMem, JUNO_MEMORY_T *ptMemory, size_t zNewSize)

Updates an existing memory allocation to a new size.

Parameters
ptMemPointer to the memory allocation structure.
ptMemoryPointer to the memory descriptor to update.
zNewSizeThe new size for the memory block.
Returns
JUNO_STATUS_T Status of the update operation.

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