summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/Network
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-26 21:49:37 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-26 21:49:53 +0100
commitbce9420fb8dd066188900d44248453a11a3d08d5 (patch)
treecf78600e017480da5a4c95bf8fc8dda68c1c64e0 /dev/Kernel/src/Network
parent486425ed00acec134f8799bdde64bfd093c5fb55 (diff)
META: Overall improvements and fixes to ZkaOS.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/Network')
-rw-r--r--dev/Kernel/src/Network/IPAddr.cc (renamed from dev/Kernel/src/Network/IP.cc)7
-rw-r--r--dev/Kernel/src/Network/IPCAddr.cc0
-rw-r--r--dev/Kernel/src/Network/IPCMsg.cc (renamed from dev/Kernel/src/Network/IPC.cc)80
3 files changed, 44 insertions, 43 deletions
diff --git a/dev/Kernel/src/Network/IP.cc b/dev/Kernel/src/Network/IPAddr.cc
index 2a07bc62..f8e3e903 100644
--- a/dev/Kernel/src/Network/IP.cc
+++ b/dev/Kernel/src/Network/IPAddr.cc
@@ -104,9 +104,12 @@ namespace Kernel
bool IPFactory::IpCheckVersion4(const Char* ip)
{
- int cnter = 0;
+ if (!ip)
+ return NO;
- for (Size base = 0; base < rt_string_len(ip); ++base)
+ Int32 cnter = 0;
+
+ for (SizeT base = 0; base < rt_string_len(ip); ++base)
{
if (ip[base] == '.')
{
diff --git a/dev/Kernel/src/Network/IPCAddr.cc b/dev/Kernel/src/Network/IPCAddr.cc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/dev/Kernel/src/Network/IPCAddr.cc
diff --git a/dev/Kernel/src/Network/IPC.cc b/dev/Kernel/src/Network/IPCMsg.cc
index 44b4665c..c93f7e7a 100644
--- a/dev/Kernel/src/Network/IPC.cc
+++ b/dev/Kernel/src/Network/IPCMsg.cc
@@ -8,57 +8,55 @@
#include <KernelKit/LPC.h>
#include <KernelKit/UserProcessScheduler.h>
-using namespace Kernel;
-
-/// @internal
-/// @brief The internal sanitize function.
-Bool ipc_int_sanitize_packet(IPCMessage* pckt)
+namespace Kernel
{
- auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]);
-
- switch (endian)
+ /// @internal
+ /// @brief The internal sanitize function.
+ Bool ipc_int_sanitize_packet(IPC_MSG* pckt)
{
- case Endian::kEndianBig: {
- if (pckt->IpcEndianess == kIPCLittleEndian)
- goto ipc_check_failed;
+ auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]);
- break;
- }
- case Endian::kEndianLittle: {
- if (pckt->IpcEndianess == kIPCBigEndian)
+ switch (endian)
+ {
+ case Endian::kEndianBig: {
+ if (pckt->IpcEndianess == kIPCLittleEndian)
+ goto ipc_check_failed;
+
+ break;
+ }
+ case Endian::kEndianLittle: {
+ if (pckt->IpcEndianess == kIPCBigEndian)
+ goto ipc_check_failed;
+
+ break;
+ }
+ case Endian::kEndianMixed: {
+ if (pckt->IpcEndianess == kIPCMixedEndian)
+ goto ipc_check_failed;
+
+ break;
+ }
+ default:
goto ipc_check_failed;
+ }
- break;
- }
- case Endian::kEndianMixed: {
- if (pckt->IpcEndianess == kIPCMixedEndian)
+ if (pckt->IpcFrom == pckt->IpcTo ||
+ pckt->IpcPacketSize > kIPCMsgSize)
+ {
goto ipc_check_failed;
+ }
- break;
- }
- default:
- goto ipc_check_failed;
- }
+ return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic;
- if (pckt->IpcFrom == pckt->IpcTo ||
- pckt->IpcPacketSize > kIPCMsgSize)
- {
- goto ipc_check_failed;
+ ipc_check_failed:
+ err_local_get() = kErrorIPC;
+ return false;
}
- return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic;
-
-ipc_check_failed:
- err_local_get() = kErrorIPC;
- return false;
-}
-
-namespace Kernel
-{
/// @brief Sanitize packet function
/// @retval true packet is correct.
/// @retval false packet is incorrect and process has crashed.
- Bool ipc_sanitize_packet(IPCMessage* pckt)
+ Bool ipc_sanitize_packet(IPC_MSG* pckt)
{
if (!pckt ||
!ipc_int_sanitize_packet(pckt))
@@ -73,7 +71,7 @@ namespace Kernel
/// @brief Construct packet function
/// @retval true packet is correct.
/// @retval false packet is incorrect and process has crashed.
- Bool ipc_construct_packet(_Output IPCMessage** pckt_in)
+ Bool ipc_construct_packet(_Output IPC_MSG** pckt_in)
{
// don't act if it's not even valid.
if (!pckt_in)
@@ -90,7 +88,7 @@ namespace Kernel
return false;
}
- *pckt_in = new IPCMessage();
+ *pckt_in = new IPC_MSG();
if (*pckt_in)
{
@@ -99,7 +97,7 @@ namespace Kernel
(*pckt_in)->IpcHeaderMagic = kIPCHeaderMagic;
(*pckt_in)->IpcEndianess = static_cast<UInt8>(endian);
- (*pckt_in)->IpcPacketSize = sizeof(IPCMessage);
+ (*pckt_in)->IpcPacketSize = sizeof(IPC_MSG);
(*pckt_in)->IpcTo.UserProcessID = 0;
(*pckt_in)->IpcTo.UserProcessTeam = 0;