From 9db58da40cfcb6643412bfae25aefc0cd1077f9d Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 27 May 2024 20:45:46 +0200 Subject: MHR-23: Improve project structure, make it better. Signed-off-by: Amlal El Mahrouss --- SDK/Libraries/CoreSystem/Headers/Heap.h | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 SDK/Libraries/CoreSystem/Headers/Heap.h (limited to 'SDK/Libraries/CoreSystem/Headers/Heap.h') diff --git a/SDK/Libraries/CoreSystem/Headers/Heap.h b/SDK/Libraries/CoreSystem/Headers/Heap.h new file mode 100644 index 00000000..b2ad6e74 --- /dev/null +++ b/SDK/Libraries/CoreSystem/Headers/Heap.h @@ -0,0 +1,39 @@ +/* ------------------------------------------- + + Copyright SoftwareLabs + +------------------------------------------- */ + +#pragma once + +#include + +#define cAllocationKindCount (2U) + +enum CsAllocationKind +{ + kStandardAllocation = 0xC, + kArrayAllocation = 0xD, +}; + +/// @brief Allocates a new pointer from process pool. +/// @param sz the size +/// @param flags the allocation flags. +/// @return +CS_EXTERN_C PtrVoidType CSAllocateHeap(QWordType sz, + DWordType flags); + +/// @brief Check if the pointer exists. +/// @param ptr the pointer to free. +/// @return +CS_EXTERN_C BooleanType CSIsHeapValid(PtrVoidType ptr); + +/// @brief Gets the size of the process' pointer. +/// @param ptr the pointer to free. +/// @return +CS_EXTERN_C QWordType CSGetHeapSize(PtrVoidType ptr); + +/// @brief Frees the process pointer. +/// @param ptr the pointer to free. +/// @return +CS_EXTERN_C VoidType CSFreeHeap(PtrVoidType ptr); -- cgit v1.2.3