summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/Network
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/src/Network')
-rw-r--r--dev/Kernel/src/Network/IPCAddr.cc18
-rw-r--r--dev/Kernel/src/Network/IPCMsg.cc15
-rw-r--r--dev/Kernel/src/Network/MACAddressGetter.cc15
-rw-r--r--dev/Kernel/src/Network/NetworkDevice.cc20
4 files changed, 58 insertions, 10 deletions
diff --git a/dev/Kernel/src/Network/IPCAddr.cc b/dev/Kernel/src/Network/IPCAddr.cc
index 3acb2943..f18d9e42 100644
--- a/dev/Kernel/src/Network/IPCAddr.cc
+++ b/dev/Kernel/src/Network/IPCAddr.cc
@@ -10,5 +10,23 @@
namespace NeOS
{
+ bool IPC_ADDR::operator==(const IPC_ADDR& addr) noexcept
+ {
+ return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam;
+ }
+ bool IPC_ADDR::operator==(IPC_ADDR& addr) noexcept
+ {
+ return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam;
+ }
+
+ bool IPC_ADDR::operator!=(const IPC_ADDR& addr) noexcept
+ {
+ return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam;
+ }
+
+ bool IPC_ADDR::operator!=(IPC_ADDR& addr) noexcept
+ {
+ return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam;
+ }
}
diff --git a/dev/Kernel/src/Network/IPCMsg.cc b/dev/Kernel/src/Network/IPCMsg.cc
index 04f1114b..42bbd293 100644
--- a/dev/Kernel/src/Network/IPCMsg.cc
+++ b/dev/Kernel/src/Network/IPCMsg.cc
@@ -101,4 +101,19 @@ namespace NeOS
return No;
}
+
+ Bool IPC_MSG::Pass(IPC_MSG* self, IPC_MSG* target) noexcept
+ {
+ if (self && target && (target == self))
+ {
+ if (self->IpcMsgSz > target->IpcMsgSz)
+ return No;
+
+ rt_copy_memory(self->IpcData, target->IpcData, self->IpcMsgSz);
+
+ return Yes;
+ }
+
+ return No;
+ }
} // namespace NeOS
diff --git a/dev/Kernel/src/Network/MACAddressGetter.cc b/dev/Kernel/src/Network/MACAddressGetter.cc
new file mode 100644
index 00000000..47d3350f
--- /dev/null
+++ b/dev/Kernel/src/Network/MACAddressGetter.cc
@@ -0,0 +1,15 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <NetworkKit/MAC.h>
+
+namespace NeOS
+{
+ Array<WideChar, kMACAddrLen>& MacAddressGetter::AsBytes()
+ {
+ return this->fMacAddress;
+ }
+} // namespace NeOS
diff --git a/dev/Kernel/src/Network/NetworkDevice.cc b/dev/Kernel/src/Network/NetworkDevice.cc
index 94d494da..f2971265 100644
--- a/dev/Kernel/src/Network/NetworkDevice.cc
+++ b/dev/Kernel/src/Network/NetworkDevice.cc
@@ -16,20 +16,20 @@ namespace NeOS
}
/// \brief Setter for fNetworkName.
- Boolean NetworkDevice::Name(const Char* strView)
+ Boolean NetworkDevice::Name(const Char* devnam)
{
- if (strView == nullptr)
- return false;
+ if (devnam == nullptr)
+ return NO;
- if (*strView == 0)
- return false;
+ if (*devnam == 0)
+ return NO;
- if (rt_string_len(strView) > cNetworkNameLen)
- return false;
+ if (rt_string_len(devnam) > cNetworkNameLen)
+ return NO;
- rt_copy_memory((VoidPtr)strView,
- (VoidPtr)this->fNetworkName, rt_string_len(strView));
+ rt_copy_memory((VoidPtr)devnam,
+ (VoidPtr)this->fNetworkName, rt_string_len(devnam));
- return true;
+ return YES;
}
} // namespace NeOS