From ca6831144b352e9d8fb7a514cfe717426ad6fa7b Mon Sep 17 00:00:00 2001 From: Amlal Date: Mon, 20 Jan 2025 17:53:45 +0100 Subject: ADD: SwapDisk format, you use a custom data structure to work with virtual memory now. Signed-off-by: Amlal --- dev/Kernel/SystemKit/SwapDisk.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'dev/Kernel/SystemKit') diff --git a/dev/Kernel/SystemKit/SwapDisk.h b/dev/Kernel/SystemKit/SwapDisk.h index 07d3cb73..eee7fdef 100644 --- a/dev/Kernel/SystemKit/SwapDisk.h +++ b/dev/Kernel/SystemKit/SwapDisk.h @@ -18,6 +18,8 @@ namespace Kernel { + struct SWAP_DISK_HEADER; + /// @brief This class is a disk swap delegate for any data. available as a syscall too. class SwapDisk final { @@ -27,7 +29,20 @@ namespace Kernel ZKA_COPY_DEFAULT(SwapDisk); - BOOL Write(const Char* fork_name, const SizeT fork_name_len, VoidPtr data, const SizeT data_len); - VoidPtr Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len); + BOOL Write(const Char* fork_name, const SizeT fork_name_len, SWAP_DISK_HEADER* data, const SizeT data_len); + SWAP_DISK_HEADER* Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len); }; + + typedef struct SWAP_DISK_HEADER + { + UInt32 fMagic; + SizeT fHeaderSz; + UInt64 fTeamID; + UInt64 fProcessID; + UInt64 fVirtualAddress; + SizeT fBlobSz; + Char fBlob[]; + } PACKED SWAP_DISK_HEADER; + + typedef SWAP_DISK_HEADER* SWAP_DISK_HEADER_REF; } // namespace Kernel -- cgit v1.2.3