diff options
Diffstat (limited to 'dev/kernel/KernelKit/IDylibObject.h')
| -rw-r--r-- | dev/kernel/KernelKit/IDylibObject.h | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/dev/kernel/KernelKit/IDylibObject.h b/dev/kernel/KernelKit/IDylibObject.h deleted file mode 100644 index ef6b96db..00000000 --- a/dev/kernel/KernelKit/IDylibObject.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * ======================================================== - * - * Kernel - * Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - * - * ======================================================== - */ - -#pragma once - -#include <CompilerKit/CompilerKit.h> -#include <NeKit/Defines.h> - -#define NE_DYLIB_OBJECT : public IDylibObject - -namespace Kernel { -class IDylibObject; - -/// @brief Dylib class object. A handle to a shared library. -class IDylibObject { - public: - explicit IDylibObject() = default; - virtual ~IDylibObject() = default; - - struct DylibTraits final { - VoidPtr ImageObject{nullptr}; - VoidPtr ImageEntrypointOffset{nullptr}; - - VoidPtr Image() const { return ImageObject; } - Bool IsValid() const { return ImageObject && ImageEntrypointOffset; } - }; - - NE_COPY_DEFAULT(IDylibObject) - - virtual DylibTraits** GetAddressOf() = 0; - virtual DylibTraits* Get() = 0; - - virtual Void Mount(DylibTraits* to_mount) = 0; - virtual Void Unmount() = 0; -}; - -/// @brief Pure implementation, missing method/function handler. -EXTERN_C void __ne_pure_call(void); -} // namespace Kernel |
