summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit
diff options
context:
space:
mode:
Diffstat (limited to 'src/libDDK/DriverKit')
-rw-r--r--src/libDDK/DriverKit/ObjectKit/checksum.h (renamed from src/libDDK/DriverKit/c++/checksum.h)17
-rw-r--r--src/libDDK/DriverKit/ObjectKit/ddk.h (renamed from src/libDDK/DriverKit/c++/ddk.h)4
-rw-r--r--src/libDDK/DriverKit/ObjectKit/driver_base.h (renamed from src/libDDK/DriverKit/c++/driver_base.h)6
3 files changed, 15 insertions, 12 deletions
diff --git a/src/libDDK/DriverKit/c++/checksum.h b/src/libDDK/DriverKit/ObjectKit/checksum.h
index 55d3d58f..5f9859e2 100644
--- a/src/libDDK/DriverKit/c++/checksum.h
+++ b/src/libDDK/DriverKit/ObjectKit/checksum.h
@@ -5,33 +5,34 @@
#ifndef DRIVERKIT_CHECKSUM_H
#define DRIVERKIT_CHECKSUM_H
-#include <DriverKit/c++/driver_base.h>
+#include <DriverKit/ObjectKit/driver_base.h>
namespace Kernel::DDK {
-using IndexableBlob = Char*;
+using IndexableBlob = char*;
+using Indexable = char;
/// @note This uses the FNV 64-bit variant.
/// @brief Performs a checksum computation for a memory region.
-inline UInt64 rtl_checksum(const IndexableBlob path) {
+inline uintptr_t rtl_checksum(const IndexableBlob path) {
if (!path || *path == 0) return 0;
- const UInt64 kFNVSeed = 0xcbf29ce484222325ULL;
- const UInt64 kFNVPrime = 0x100000001b3ULL;
+ const uintptr_t kFNVSeed = 0xcbf29ce484222325ULL;
+ const uintptr_t kFNVPrime = 0x100000001b3ULL;
- UInt64 hash = kFNVSeed;
+ uintptr_t hash = kFNVSeed;
IndexableBlob path_ = path;
while (*path_) {
- hash ^= (Char) (*path_++);
+ hash ^= (Indexable) (*path_++);
hash *= kFNVPrime;
}
return hash;
}
-using Blob = VoidPtr;
+using Blob = void*;
} // namespace Kernel::DDK
diff --git a/src/libDDK/DriverKit/c++/ddk.h b/src/libDDK/DriverKit/ObjectKit/ddk.h
index f05b86bc..2d6dec75 100644
--- a/src/libDDK/DriverKit/c++/ddk.h
+++ b/src/libDDK/DriverKit/ObjectKit/ddk.h
@@ -5,7 +5,7 @@
#ifndef DRIVERKIT_DDK_H
#define DRIVERKIT_DDK_H
-#include <DriverKit/c++/checksum.h>
-#include <DriverKit/c++/driver_base.h>
+#include <DriverKit/ObjectKit/checksum.h>
+#include <DriverKit/ObjectKit/driver_base.h>
#endif
diff --git a/src/libDDK/DriverKit/c++/driver_base.h b/src/libDDK/DriverKit/ObjectKit/driver_base.h
index 1d6057b3..909bfe7b 100644
--- a/src/libDDK/DriverKit/c++/driver_base.h
+++ b/src/libDDK/DriverKit/ObjectKit/driver_base.h
@@ -9,13 +9,14 @@
#define DDK_DRIVER_IMPL \
final: \
- public \
+ public \
::Kernel::DDK::IDriverBase
/// @author Amlal El Mahrouss
/// @brief The DDK C++ API.
namespace Kernel::DDK {
+
inline constexpr auto kInvalidType = 0;
/// @brief Driver interface type.
@@ -39,8 +40,9 @@ class IDriverBase {
/// @author @amlel-el-mahrouss
template <typename Driver>
concept IsValidDriver = requires(Driver drv) {
- {drv.IsActive() && drv.Type() > kInvalidType};
+ { drv.IsActive() && drv.Type() > kInvalidType };
};
+
} // namespace Kernel::DDK
#endif