diff options
Diffstat (limited to 'dev/libDDK/DriverKit')
| -rw-r--r-- | dev/libDDK/DriverKit/ddk.h | 4 | ||||
| -rw-r--r-- | dev/libDDK/DriverKit/dki/contract.h | 32 |
2 files changed, 35 insertions, 1 deletions
diff --git a/dev/libDDK/DriverKit/ddk.h b/dev/libDDK/DriverKit/ddk.h index 254137f9..2e2dddf0 100644 --- a/dev/libDDK/DriverKit/ddk.h +++ b/dev/libDDK/DriverKit/ddk.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright Amlal El Mahrouss. + Copyright Amlal El Mahrouss 2025, all rights reserved. FILE: ddk.h PURPOSE: DDK Driver model base header. @@ -29,6 +29,8 @@ struct DDK_STATUS_STRUCT DDK_FINAL { struct DDK_OBJECT_MANIFEST* s_object; }; +typedef void* ptr_t; + /// @brief Call Kernel procedure. /// @param name the procedure name. /// @param cnt number of elements in **dat** 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 |
