aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Memory/MemoryPermission.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Memory/MemoryPermission.cs')
-rw-r--r--src/Ryujinx.Memory/MemoryPermission.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Ryujinx.Memory/MemoryPermission.cs b/src/Ryujinx.Memory/MemoryPermission.cs
new file mode 100644
index 00000000..8c3e33cf
--- /dev/null
+++ b/src/Ryujinx.Memory/MemoryPermission.cs
@@ -0,0 +1,51 @@
+using System;
+
+namespace Ryujinx.Memory
+{
+ /// <summary>
+ /// Memory access permission control.
+ /// </summary>
+ [Flags]
+ public enum MemoryPermission
+ {
+ /// <summary>
+ /// No access is allowed on the memory region.
+ /// </summary>
+ None = 0,
+
+ /// <summary>
+ /// Allow reads on the memory region.
+ /// </summary>
+ Read = 1 << 0,
+
+ /// <summary>
+ /// Allow writes on the memory region.
+ /// </summary>
+ Write = 1 << 1,
+
+ /// <summary>
+ /// Allow code execution on the memory region.
+ /// </summary>
+ Execute = 1 << 2,
+
+ /// <summary>
+ /// Allow reads and writes on the memory region.
+ /// </summary>
+ ReadAndWrite = Read | Write,
+
+ /// <summary>
+ /// Allow reads and code execution on the memory region.
+ /// </summary>
+ ReadAndExecute = Read | Execute,
+
+ /// <summary>
+ /// Allow reads, writes, and code execution on the memory region.
+ /// </summary>
+ ReadWriteExecute = Read | Write | Execute,
+
+ /// <summary>
+ /// Indicates an invalid protection.
+ /// </summary>
+ Invalid = 255
+ }
+}