IMemoryManager.cs 506 B

123456789101112131415161718192021
  1. using System;
  2. namespace ARMeilleure.Memory
  3. {
  4. public interface IMemoryManager
  5. {
  6. int AddressSpaceBits { get; }
  7. IntPtr PageTablePointer { get; }
  8. T Read<T>(ulong va) where T : unmanaged;
  9. T ReadTracked<T>(ulong va) where T : unmanaged;
  10. void Write<T>(ulong va, T value) where T : unmanaged;
  11. ref T GetRef<T>(ulong va) where T : unmanaged;
  12. bool IsMapped(ulong va);
  13. void SignalMemoryTracking(ulong va, ulong size, bool write);
  14. }
  15. }