diff options
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 |
