From c3b3b7727b9e2e7cbddcd0997c53d96ba3bb0e82 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 12 Apr 2024 12:54:30 +0200 Subject: kernel: update IPC protocol header, framebuffer header. servers/display: Add display server. private: rename LinkerScripts to just Linker. Signed-off-by: Amlal El Mahrouss --- Private/NetworkKit/IPCEP.hxx | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'Private/NetworkKit') 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 #include -/// @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_ -- cgit v1.2.3