From a2671839daddfaaec63f43132854c606c556558a Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic <steven.lerouzic@gmail.com> Date: Fri, 5 Apr 2024 18:05:56 +0200 Subject: Add virtual memory API --- deimos/core/os.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'deimos/core/os.h') diff --git a/deimos/core/os.h b/deimos/core/os.h index fa1762a..9aea509 100644 --- a/deimos/core/os.h +++ b/deimos/core/os.h @@ -36,13 +36,27 @@ public: virtual void* GetSymbol(OsDll*, gsl::czstring) = 0; }; +class OsVirtualMemoryApi +{ +public: + OsVirtualMemoryApi() = default; + deimos_NO_COPY_MOVE(OsVirtualMemoryApi); + virtual ~OsVirtualMemoryApi() = default; + + virtual gsl::owner<void*> Map(int64_t size) = 0; + virtual void Unmap(gsl::owner<void*>) = 0; + virtual gsl::owner<void*> Reserve(int64_t size) = 0; + virtual void Commit(void* ptr, int64_t size) = 0; +}; + class OsApi { public: static constexpr IdName kApiName{"deimos::OsApi"}; - OsConsoleApi* console{}; - OsDllApi* dll{}; + OsConsoleApi* console{}; + OsDllApi* dll{}; + OsVirtualMemoryApi* virtual_memory{}; }; class OsConsoleWriter : public IWriter -- cgit