summaryrefslogtreecommitdiffhomepage
path: root/Private/NetworkKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-01 23:57:19 +0200
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-01 23:57:19 +0200
commitd445096b8403ad0bdbf0095c50f66ba01fde9f33 (patch)
tree4fa3fb3217cf256306bff76fc4509070f651de99 /Private/NetworkKit
parentd190e44fa474808ad31028835f04e4df2c840073 (diff)
Kernel: Bringing support 48-bit ATA PIO.
Kernel: Adding support for IPCEP. Kernel: Improve scheduler, create heap according to process kind. Kernel: PRD transfer enum for upcoming ATA DMA driver. Kernel: Add kErrorNoEntrypoint. NewBoot: Add 48-bit support for ATA PIO. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/NetworkKit')
-rw-r--r--Private/NetworkKit/IPCEP.hxx45
1 files changed, 45 insertions, 0 deletions
diff --git a/Private/NetworkKit/IPCEP.hxx b/Private/NetworkKit/IPCEP.hxx
new file mode 100644
index 00000000..b3b8a759
--- /dev/null
+++ b/Private/NetworkKit/IPCEP.hxx
@@ -0,0 +1,45 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+#ifndef _INC_IPC_ENDPOINT_HXX_
+#define _INC_IPC_ENDPOINT_HXX_
+
+#include <NewKit/Defines.hpp>
+#include <NewKit/String.hpp>
+
+/// @brief IPC Endpoint Protocol (IPCEP) definition.
+
+/// IA separator.
+#define kRemoteSeparator "."
+
+/// Interchange address, consists of domain+namespace.
+#define kRemoteInvalid "00.00.00.00:0"
+#define kRemoteMaxLen 21
+
+#define kRemoteHeaderMagic 0xFFEEAACCEE
+
+namespace NewOS {
+/// @brief 96-bit number to represent the domain and namespace
+struct PACKED IPCEPNumber final {
+ UInt32 RemoteAddress;
+ UInt64 RemoteNamespace;
+};
+
+typedef struct IPCEPNumber IPCEPNumberType;
+
+/// @brief IPCEP connection header
+typedef struct IPCEPConnectionHeader final {
+ UInt64 IpcHeader; // 0xFFEEAACCEE
+ UInt8 IpcEndianess; // 0 : LE, 1 : BE
+ SizeT IpcPacketSize;
+ IPCEPNumberType IpcFrom;
+ IPCEPNumberType IpcTo;
+ UInt32 IpcCRC32;
+ Char IpcPad[8];
+} PACKED IPCEPConnectionHeader;
+} // namespace NewOS
+
+#endif // _INC_IPC_ENDPOINT_HXX_ \ No newline at end of file