From fecc323112c23fdade315f008a828256892e3bc8 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 29 Dec 2024 20:01:56 +0100 Subject: IMPL: SwapDiskDelegate.h class and Swap API. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/SystemKit/Swap.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'dev/Kernel/SystemKit') diff --git a/dev/Kernel/SystemKit/Swap.h b/dev/Kernel/SystemKit/Swap.h index 5d9d1ade..4ba59bcb 100644 --- a/dev/Kernel/SystemKit/Swap.h +++ b/dev/Kernel/SystemKit/Swap.h @@ -8,11 +8,26 @@ #pragma once #include +#include -#define kSwapMgrBlockMaxSize mib_cast(16) -#define KSwapMgrBlockMagic "SWEP " - -#define kSwapMgrPageFile "/System/pagefile.sys" +#define kSwapMgrBlockMaxSize (mib_cast(16)) +#define kSwapMgrPageFile "/System/pagefile.sys" /// @file Swap.h /// @brief Virtual memory swap API. + +namespace Kernel +{ + /// @brief This class is a disk swap delegate for any data. available as a syscall too. + class SwapDiskDelegate final + { + public: + explicit SwapDiskDelegate() = default; + ~SwapDiskDelegate() = default; + + ZKA_COPY_DEFAULT(SwapDiskDelegate); + + 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); + }; +} // namespace Kernel \ No newline at end of file -- cgit v1.2.3