summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-18 09:04:13 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-18 09:04:13 +0100
commited6d2f6007b572b907e3cb11b4303c13d1572c9c (patch)
tree47f177336db980a138a91a2fb109db8f1a65086c /src/libDDK/DriverKit
parent3a5c7473910156051951f8ec98488a6c91a3eabd (diff)
chore: specification updates and patches on the DDK, new source `ddk_c++.cc`.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/libDDK/DriverKit')
-rw-r--r--src/libDDK/DriverKit/c++/driver_base.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/libDDK/DriverKit/c++/driver_base.h b/src/libDDK/DriverKit/c++/driver_base.h
index f43ae0bf..683969f3 100644
--- a/src/libDDK/DriverKit/c++/driver_base.h
+++ b/src/libDDK/DriverKit/c++/driver_base.h
@@ -3,13 +3,12 @@
Copyright Amlal El Mahrouss 2025, licensed under the Apache 2.0 license.
FILE: driver_base.h
- PURPOSE: IDriverBase and friends.
+ PURPOSE: C++ Driver Wrapper.
======================================== */
#pragma once
-#include <CompilerKit/CompilerKit.h>
#include <libDDK/DriverKit/macros.h>
#define DDK_DRIVER_IMPL \
@@ -30,12 +29,12 @@ class IDriverBase {
NE_COPY_DELETE(IDriverBase);
NE_MOVE_DEFAULT(IDriverBase);
- using PtrType = VoidPtr;
+ using PtrType = void*;
- virtual constexpr BOOL IsCastable() { return NO; }
- virtual constexpr BOOL IsActive() { return NO; }
+ virtual constexpr bool IsCastable() { return false; }
+ virtual constexpr bool IsActive() { return false; }
virtual PtrType Leak() { return nullptr; }
- virtual constexpr Int32 Type() { return kInvalidType; }
+ virtual constexpr int32_t Type() { return kInvalidType; }
};
/// @brief This concept requires the Driver to be IDriverBase compliant.
@@ -46,6 +45,6 @@ concept IsValidDriver = requires(Driver driver_base) {
/// @brief Consteval helper to detect whether a template is truly based on IDriverBase.
/// @note This helper is consteval only.
-template <IsValidDriver T>
-consteval void ce_ddk_is_valid(T) {}
+template <class Driver>
+inline bool ce_ddk_is_valid(Driver drv) { return IsValidDriver<Driver>(drv); }
} // namespace Kernel::DDK