blob: cacfc4ac3cc49d1e75d1874746593bb2a95c19da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
using System;
namespace ARMeilleure.Memory
{
public interface IMemoryManager
{
int AddressSpaceBits { get; }
IntPtr PageTablePointer { get; }
T Read<T>(ulong va) where T : unmanaged;
T ReadTracked<T>(ulong va) where T : unmanaged;
void Write<T>(ulong va, T value) where T : unmanaged;
ReadOnlySpan<byte> GetSpan(ulong va, int size, bool tracked = false);
ref T GetRef<T>(ulong va) where T : unmanaged;
bool IsMapped(ulong va);
void SignalMemoryTracking(ulong va, ulong size, bool write);
}
}
|