summaryrefslogtreecommitdiffhomepage
path: root/Public/Developer/System.Core/Headers/Heap.h
blob: 90f15aa5d3118395b611d89229e264705fa59050 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* -------------------------------------------

    Copyright Mahrouss Logic

------------------------------------------- */

#pragma once

#include <System.Core/Headers/Defines.h>

#define kAllocationTypes 2

enum RtAllocationKind {
  kStandardAllocation = 0xC,
  kArrayAllocation = 0xD,
};

/// @brief Allocates a new heap from process pool.
/// @param refObj 
/// @param sz 
/// @param flags 
/// @return 
CA_EXTERN_C PtrVoidType RtAllocateProcessHeap(ObjectRef refObj, QWordType sz,
                                              DWordType flags);

/// @brief Check if pointer exists.
/// @param refObj 
/// @param ptr 
/// @return 
CA_EXTERN_C BooleanType RtProcessHeapExists(ObjectRef refObj, PtrVoidType ptr);
CA_EXTERN_C QWordType RtProcessHeapSize(ObjectRef refObj, PtrVoidType ptr);
CA_EXTERN_C VoidType RtFreeProcessHeap(ObjectRef refObj, PtrVoidType ptr);