IMemoryManager.cs 585 B

1234567891011121314151617181920212223
  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. ReadOnlySpan<byte> GetSpan(ulong va, int size, bool tracked = false);
  12. ref T GetRef<T>(ulong va) where T : unmanaged;
  13. bool IsMapped(ulong va);
  14. void SignalMemoryTracking(ulong va, ulong size, bool write);
  15. }
  16. }