diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-04-01 23:57:19 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-04-01 23:57:19 +0200 |
| commit | d445096b8403ad0bdbf0095c50f66ba01fde9f33 (patch) | |
| tree | 4fa3fb3217cf256306bff76fc4509070f651de99 /Private/NetworkKit | |
| parent | d190e44fa474808ad31028835f04e4df2c840073 (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.hxx | 45 |
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 |
