summaryrefslogtreecommitdiffhomepage
path: root/Public/Developer/System.Core/Headers/Heap.h
blob: 9f3215dbd8c3af288db97044c10a778e38a670e9 (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
33
34
35
36
37
38
/* -------------------------------------------

    Copyright Mahrouss Logic

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

#pragma once

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

#define kAllocationTypes 2

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

/// @brief Allocates a new pointer from process pool.
/// @param sz the size
/// @param flags the allocation flags.
/// @return 
CA_EXTERN_C PtrVoidType RtAllocateProcessPtr(QWordType sz,
                                              DWordType flags);

/// @brief Check if the pointer exists.
/// @param ptr the pointer to free.
/// @return 
CA_EXTERN_C BooleanType RtProcessPtrExists(PtrVoidType ptr);

/// @brief Gets the size of the process' pointer.
/// @param ptr the pointer to free.
/// @return 
CA_EXTERN_C QWordType RtProcessPtrSize(PtrVoidType ptr);

/// @brief Frees the process pointer.
/// @param ptr the pointer to free.
/// @return 
CA_EXTERN_C VoidType RtFreeProcessPtr(PtrVoidType ptr);