From 6551964ad66de7bc7ccb636c54351be2a260612b Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 23 May 2025 23:31:58 +0200 Subject: feat(kernel/libSystem): Lots of improvements, see below. what: - Reworked NetworkDevice. - Reworked RTL8139 driver. - Don't assert fCleanup on NetworkDevice destructor. - Add new Ref types in libSystem. Signed-off-by: Amlal El Mahrouss --- dev/kernel/NetworkKit/NetworkDevice.h | 5 ++--- dev/kernel/NetworkKit/NetworkDevice.inl | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'dev/kernel/NetworkKit') diff --git a/dev/kernel/NetworkKit/NetworkDevice.h b/dev/kernel/NetworkKit/NetworkDevice.h index 7ed67bab..48fed575 100644 --- a/dev/kernel/NetworkKit/NetworkDevice.h +++ b/dev/kernel/NetworkKit/NetworkDevice.h @@ -23,7 +23,7 @@ class NetworkDevice final : public IDeviceObject { public: NetworkDevice(void (*out)(IDeviceObject*, NetworkDeviceCommand), void (*in)(IDeviceObject*, NetworkDeviceCommand), - void (*onCleanup)(void) = nullptr); + void (*cleanup)(void) = nullptr); ~NetworkDevice() override; @@ -36,10 +36,9 @@ class NetworkDevice final : public IDeviceObject { Boolean Name(const Char* newStr); private: - static constexpr auto cNetworkNameLen = 512; + static constexpr auto kNetworkNameLen = 512; Void (*fCleanup)(void); - Char fNetworkName[cNetworkNameLen]; }; struct NetworkDeviceCommand final { diff --git a/dev/kernel/NetworkKit/NetworkDevice.inl b/dev/kernel/NetworkKit/NetworkDevice.inl index 812c0248..84ec9edc 100644 --- a/dev/kernel/NetworkKit/NetworkDevice.inl +++ b/dev/kernel/NetworkKit/NetworkDevice.inl @@ -8,6 +8,10 @@ Dtor and ctors. */ +#ifndef __INC_NETWORK_DEVICE_H__ +#include +#endif // __INC_NETWORK_DEVICE_H__ + namespace Kernel { inline NetworkDevice::NetworkDevice(void (*out)(IDeviceObject*, NetworkDeviceCommand), @@ -21,8 +25,6 @@ inline NetworkDevice::NetworkDevice(void (*out)(IDeviceObject