summaryrefslogtreecommitdiffhomepage
path: root/dev/libDDK/DriverKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-09-09 21:28:04 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-09-09 21:28:04 +0200
commitb1e3dac861c0d6c28bdb7768d7f96f19456e9ad0 (patch)
tree7868c5e081e86f72ec0203f3c8b1ed4bcb9b1598 /dev/libDDK/DriverKit
parent42832ec1b72baf244a1290ccf747b79db0caa69f (diff)
feat:! ddk/dki, ne_launch, ifs: Big architectural changes and
improvements. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/libDDK/DriverKit')
-rw-r--r--dev/libDDK/DriverKit/cpp/object.hpp16
-rw-r--r--dev/libDDK/DriverKit/dki/contract.h32
2 files changed, 32 insertions, 16 deletions
diff --git a/dev/libDDK/DriverKit/cpp/object.hpp b/dev/libDDK/DriverKit/cpp/object.hpp
deleted file mode 100644
index 3bf52657..00000000
--- a/dev/libDDK/DriverKit/cpp/object.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/* -------------------------------------------
-
- Copyright Amlal El Mahrouss 2025, all rights reserved.
-
- FILE: ddk.h
- PURPOSE: DDK Driver model base header.
-
- ------------------------------------------- */
-
-#pragma once
-
-#include <DriverKit/macros.h>
-
-#define DK_INTERFACE_IMPL : public ::DKInterface
-
-class DKInterface;
diff --git a/dev/libDDK/DriverKit/dki/contract.h b/dev/libDDK/DriverKit/dki/contract.h
new file mode 100644
index 00000000..23884e02
--- /dev/null
+++ b/dev/libDDK/DriverKit/dki/contract.h
@@ -0,0 +1,32 @@
+/* -------------------------------------------
+
+ Copyright Amlal El Mahrouss 2025, all rights reserved.
+
+ FILE: ddk.h
+ PURPOSE: Driver Kernel Interface Model base header.
+
+ ------------------------------------------- */
+
+#pragma once
+
+#include <CompilerKit/CompilerKit.h>
+#include <DriverKit/macros.h>
+
+#define DKI_CONTRACT_IMPL : public ::Kernel::DKIContract
+
+/// @author Amlal El Mahrouss
+
+namespace Kernel::DKI {
+class DKIContract {
+ public:
+ explicit DKIContract() = default;
+ virtual ~DKIContract() = default;
+
+ NE_COPY_DEFAULT(DKIContract);
+
+ virtual BOOL IsCastable() { return false; }
+ virtual BOOL IsActive() { return false; }
+ virtual VoidPtr Leak() { return nullptr; }
+ virtual Int32 Type() { return 0; }
+};
+} // namespace Kernel::DKI