diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-05 18:05:56 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-05 18:05:56 +0200 |
commit | a2671839daddfaaec63f43132854c606c556558a (patch) | |
tree | cfe9997248e7ef40c9223243358642e5f602167a /deimos/core/os.h | |
parent | f46b019cb0a2f451234fdb4f20620b7e443da136 (diff) |
Add virtual memory API
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r-- | deimos/core/os.h | 18 |
1 files changed, 16 insertions, 2 deletions
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
|