From 34f62ae2dd8c77cee1f0f3680caf407b1be6b350 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sat, 22 Feb 2025 08:45:43 +0100 Subject: New DeviceMgr, other APIs have been reworked as a result. AHCI becomes the first module to be available in StorageKit. Signed-off-by: Amlal --- dev/Kernel/KernelKit/DebugOutput.h | 2 +- dev/Kernel/KernelKit/DeviceMgr.h | 12 ++++++------ dev/Kernel/KernelKit/User.h | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'dev/Kernel/KernelKit') diff --git a/dev/Kernel/KernelKit/DebugOutput.h b/dev/Kernel/KernelKit/DebugOutput.h index 498b2b6b..84a2d514 100644 --- a/dev/Kernel/KernelKit/DebugOutput.h +++ b/dev/Kernel/KernelKit/DebugOutput.h @@ -38,7 +38,7 @@ namespace NeOS class TerminalDevice final NE_DEVICE { public: - TerminalDevice(void (*print)(const Char*), void (*gets)(const Char*)) + TerminalDevice(void (*print)(IDeviceObject*, const Char*), void (*gets)(IDeviceObject*, const Char*)) : IDeviceObject(print, gets) { } diff --git a/dev/Kernel/KernelKit/DeviceMgr.h b/dev/Kernel/KernelKit/DeviceMgr.h index 34ca2957..a81a6586 100644 --- a/dev/Kernel/KernelKit/DeviceMgr.h +++ b/dev/Kernel/KernelKit/DeviceMgr.h @@ -40,7 +40,7 @@ namespace NeOS class IDeviceObject { public: - explicit IDeviceObject(void (*Out)(T), void (*In)(T)) + explicit IDeviceObject(void (*Out)(IDeviceObject*, T), void (*In)(IDeviceObject*, T)) : fOut(Out), fIn(In) { } @@ -54,19 +54,19 @@ namespace NeOS public: virtual IDeviceObject& operator<<(T Data) { - fOut(Data); + fOut(this, Data); return *this; } virtual IDeviceObject& operator>>(T Data) { - fIn(Data); + fIn(this, Data); return *this; } virtual const char* Name() const { - return "IDeviceObject"; + return "/dev/null"; } operator bool() @@ -80,8 +80,8 @@ namespace NeOS } protected: - Void (*fOut)(T Data) = {nullptr}; - Void (*fIn)(T Data) = {nullptr}; + Void (*fOut)(IDeviceObject*, T Data) = {nullptr}; + Void (*fIn)(IDeviceObject*, T Data) = {nullptr}; }; /// diff --git a/dev/Kernel/KernelKit/User.h b/dev/Kernel/KernelKit/User.h index 41cf57e2..76493224 100644 --- a/dev/Kernel/KernelKit/User.h +++ b/dev/Kernel/KernelKit/User.h @@ -37,6 +37,7 @@ namespace NeOS }; typedef Char* UserPublicKey; + typedef Char UserPublicKeyType; /// @brief User class. class User final -- cgit v1.2.3