summaryrefslogtreecommitdiff
path: root/deimos/core/os.h
diff options
context:
space:
mode:
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r--deimos/core/os.h18
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