diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-12 12:54:30 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-12 12:54:30 +0200 |
| commit | c3b3b7727b9e2e7cbddcd0997c53d96ba3bb0e82 (patch) | |
| tree | db2fbe59e73e5610a678028a3214041773f134bc /Private/NetworkKit | |
| parent | 3fca74d9544fc4cf0218b6e8154b53625bd3df66 (diff) | |
kernel: update IPC protocol header, framebuffer header.
servers/display: Add display server.
private: rename LinkerScripts to just Linker.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/NetworkKit')
| -rw-r--r-- | Private/NetworkKit/IPCEP.hxx | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/Private/NetworkKit/IPCEP.hxx b/Private/NetworkKit/IPCEP.hxx index b3b8a759..cd7345e4 100644 --- a/Private/NetworkKit/IPCEP.hxx +++ b/Private/NetworkKit/IPCEP.hxx @@ -1,6 +1,8 @@ /* ------------------------------------------- - Copyright Mahrouss Logic + Copyright Mahrouss Logic. + + File: IPCEP.hxx, Purpose: Common IPC protocol. ------------------------------------------- */ @@ -10,36 +12,39 @@ #include <NewKit/Defines.hpp> #include <NewKit/String.hpp> -/// @brief IPC Endpoint Protocol (IPCEP) definition. +/// @brief Common IPC Endpoint Protocol (Common IPC for short). /// IA separator. #define kRemoteSeparator "." -/// Interchange address, consists of domain+namespace. -#define kRemoteInvalid "00.00.00.00:0" -#define kRemoteMaxLen 21 +/// Interchange address, consists of domain:namespace. +#define kRemoteInvalid "00.00.00.00:0000" +#define kRemoteBitWidth 96 /* 96-bit address space. */ -#define kRemoteHeaderMagic 0xFFEEAACCEE +#define kRemoteHeaderMagic 0xFEEDFACE namespace NewOS { /// @brief 96-bit number to represent the domain and namespace -struct PACKED IPCEPNumber final { +struct PACKED IPCEPAddress { UInt32 RemoteAddress; UInt64 RemoteNamespace; }; -typedef struct IPCEPNumber IPCEPNumberType; +typedef struct IPCEPAddress IPCEPAddressType; + +enum { kIPCEPLittleEndian = 0, kIPCEPBigEndian = 1 }; /// @brief IPCEP connection header -typedef struct IPCEPConnectionHeader final { - UInt64 IpcHeader; // 0xFFEEAACCEE +typedef struct IPCEPConnectionHeader { + UInt32 IpcHeader; // kRemoteHeaderMagic UInt8 IpcEndianess; // 0 : LE, 1 : BE SizeT IpcPacketSize; - IPCEPNumberType IpcFrom; - IPCEPNumberType IpcTo; + IPCEPAddressType IpcFrom; + IPCEPAddressType IpcTo; UInt32 IpcCRC32; - Char IpcPad[8]; + SizeT IpcDataSize; + Char IpcData[]; } PACKED IPCEPConnectionHeader; } // namespace NewOS -#endif // _INC_IPC_ENDPOINT_HXX_
\ No newline at end of file +#endif // _INC_IPC_ENDPOINT_HXX_ |
