summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/MemoryMgr.h
diff options
context:
space:
mode:
authorAmlal <amlal@nekernel.org>2025-04-25 13:08:33 +0200
committerAmlal <amlal@nekernel.org>2025-04-25 13:08:33 +0200
commitfb790b07aeba8e22e4190cf3e1834d11ecde6c96 (patch)
tree4cec7d1b321307b1d5935577631dae116a658a37 /dev/kernel/KernelKit/MemoryMgr.h
parent63a2d92c5dfe976175cda024ec01905d11b43738 (diff)
dev: better .clang-format, ran format command.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/MemoryMgr.h')
-rw-r--r--dev/kernel/KernelKit/MemoryMgr.h140
1 files changed, 68 insertions, 72 deletions
diff --git a/dev/kernel/KernelKit/MemoryMgr.h b/dev/kernel/KernelKit/MemoryMgr.h
index ac11ac29..2274e24e 100644
--- a/dev/kernel/KernelKit/MemoryMgr.h
+++ b/dev/kernel/KernelKit/MemoryMgr.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
------------------------------------------- */
@@ -11,77 +11,73 @@
/// @file: MemoryMgr.h
/// @brief: Memory allocation support for the NeKernel.
-#include <NewKit/KernelPanic.h>
#include <KernelKit/KPC.h>
+#include <NewKit/KernelPanic.h>
#include <hint/CompilerHint.h>
-namespace Kernel
-{
- /// @brief Declare pointer as free.
- /// @param heap_ptr the pointer.
- /// @return a status code regarding the deallocation.
- Int32 mm_delete_heap(VoidPtr heap_ptr);
-
- /// @brief Declare a new size for heap_ptr.
- /// @param heap_ptr the pointer.
- /// @return unsupported always returns nullptr.
- VoidPtr mm_realloc_heap(VoidPtr heap_ptr, SizeT new_sz);
-
- /// @brief Check if pointer is a valid Kernel pointer.
- /// @param heap_ptr the pointer
- /// @return if it exists it returns true.
- Boolean mm_is_valid_heap(VoidPtr heap_ptr);
-
- /// @brief Allocate chunk of memory.
- /// @param sz Size of pointer
- /// @param wr Read Write bit.
- /// @param user User enable bit.
- /// @return The newly allocated pointer, or nullptr.
- VoidPtr mm_new_heap(SizeT sz, Bool wr, Bool user, SizeT pad_amount = 0);
-
- /// @brief Protect the heap with a CRC value.
- /// @param heap_ptr pointer.
- /// @return if it valid: point has crc now., otherwise fail.
- Boolean mm_protect_heap(VoidPtr heap_ptr);
-
- /// @brief Makes a Kernel page.
- /// @param heap_ptr the page pointer.
- /// @return status code
- Int32 mm_make_page(VoidPtr heap_ptr);
-
- /// @brief Overwrites and set the flags of a heap header.
- /// @param heap_ptr the pointer to update.
- /// @param flags the flags to set.
- Int32 mm_make_flags(VoidPtr heap_ptr, UInt64 flags);
-
- /// @brief Gets the flags of a heap header.
- /// @param heap_ptr the pointer to get.
- UInt64 mm_get_flags(VoidPtr heap_ptr);
-
- /// @brief Allocate C++ class.
- /// @param cls The class to allocate.
- /// @param args The args to pass.
- template <typename T, typename... Args>
- inline BOOL mm_new_class(_Input _Output T** cls, _Input Args&&... args)
- {
- if (*cls)
- {
- err_global_get() = Kernel::kErrorInvalidData;
- return NO;
- }
-
- *cls = new T(move(args)...);
- return *cls;
- }
-
- /// @brief Delete and nullify C++ class.
- /// @param cls The class to delete.
- template <typename T>
- inline Void mm_delete_class(_Input _Output T** cls)
- {
- delete *cls;
- *cls = nullptr;
- }
-} // namespace Kernel
-
-#endif // !INC_KERNEL_HEAP_H
+namespace Kernel {
+/// @brief Declare pointer as free.
+/// @param heap_ptr the pointer.
+/// @return a status code regarding the deallocation.
+Int32 mm_delete_heap(VoidPtr heap_ptr);
+
+/// @brief Declare a new size for heap_ptr.
+/// @param heap_ptr the pointer.
+/// @return unsupported always returns nullptr.
+VoidPtr mm_realloc_heap(VoidPtr heap_ptr, SizeT new_sz);
+
+/// @brief Check if pointer is a valid Kernel pointer.
+/// @param heap_ptr the pointer
+/// @return if it exists it returns true.
+Boolean mm_is_valid_heap(VoidPtr heap_ptr);
+
+/// @brief Allocate chunk of memory.
+/// @param sz Size of pointer
+/// @param wr Read Write bit.
+/// @param user User enable bit.
+/// @return The newly allocated pointer, or nullptr.
+VoidPtr mm_new_heap(SizeT sz, Bool wr, Bool user, SizeT pad_amount = 0);
+
+/// @brief Protect the heap with a CRC value.
+/// @param heap_ptr pointer.
+/// @return if it valid: point has crc now., otherwise fail.
+Boolean mm_protect_heap(VoidPtr heap_ptr);
+
+/// @brief Makes a Kernel page.
+/// @param heap_ptr the page pointer.
+/// @return status code
+Int32 mm_make_page(VoidPtr heap_ptr);
+
+/// @brief Overwrites and set the flags of a heap header.
+/// @param heap_ptr the pointer to update.
+/// @param flags the flags to set.
+Int32 mm_make_flags(VoidPtr heap_ptr, UInt64 flags);
+
+/// @brief Gets the flags of a heap header.
+/// @param heap_ptr the pointer to get.
+UInt64 mm_get_flags(VoidPtr heap_ptr);
+
+/// @brief Allocate C++ class.
+/// @param cls The class to allocate.
+/// @param args The args to pass.
+template <typename T, typename... Args>
+inline BOOL mm_new_class(_Input _Output T** cls, _Input Args&&... args) {
+ if (*cls) {
+ err_global_get() = Kernel::kErrorInvalidData;
+ return NO;
+ }
+
+ *cls = new T(move(args)...);
+ return *cls;
+}
+
+/// @brief Delete and nullify C++ class.
+/// @param cls The class to delete.
+template <typename T>
+inline Void mm_delete_class(_Input _Output T** cls) {
+ delete *cls;
+ *cls = nullptr;
+}
+} // namespace Kernel
+
+#endif // !INC_KERNEL_HEAP_H