aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon.Common
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Horizon.Common')
-rw-r--r--src/Ryujinx.Horizon.Common/IExternalEvent.cs10
-rw-r--r--src/Ryujinx.Horizon.Common/ISyscallApi.cs5
-rw-r--r--src/Ryujinx.Horizon.Common/Result.cs5
3 files changed, 20 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon.Common/IExternalEvent.cs b/src/Ryujinx.Horizon.Common/IExternalEvent.cs
new file mode 100644
index 00000000..dedf4c72
--- /dev/null
+++ b/src/Ryujinx.Horizon.Common/IExternalEvent.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Ryujinx.Horizon.Common
+{
+ public interface IExternalEvent
+ {
+ void Signal();
+ void Clear();
+ }
+}
diff --git a/src/Ryujinx.Horizon.Common/ISyscallApi.cs b/src/Ryujinx.Horizon.Common/ISyscallApi.cs
index 20277f34..3d6da041 100644
--- a/src/Ryujinx.Horizon.Common/ISyscallApi.cs
+++ b/src/Ryujinx.Horizon.Common/ISyscallApi.cs
@@ -1,3 +1,4 @@
+using Ryujinx.Memory;
using System;
namespace Ryujinx.Horizon.Common
@@ -29,5 +30,9 @@ namespace Ryujinx.Horizon.Common
Result CreatePort(out int serverPortHandle, out int clientPortHandle, int maxSessions, bool isLight, string name);
Result ManageNamedPort(out int handle, string name, int maxSessions);
Result ConnectToPort(out int clientSessionHandle, int clientPortHandle);
+
+ IExternalEvent GetExternalEvent(int handle);
+ IVirtualMemoryManager GetMemoryManagerByProcessHandle(int handle);
+ ulong GetTransferMemoryAddress(int handle);
}
}
diff --git a/src/Ryujinx.Horizon.Common/Result.cs b/src/Ryujinx.Horizon.Common/Result.cs
index d313554e..4b120b84 100644
--- a/src/Ryujinx.Horizon.Common/Result.cs
+++ b/src/Ryujinx.Horizon.Common/Result.cs
@@ -36,6 +36,11 @@ namespace Ryujinx.Horizon.Common
ErrorCode = module | (description << ModuleBits);
}
+ public Result(int errorCode)
+ {
+ ErrorCode = errorCode;
+ }
+
public readonly override bool Equals(object obj)
{
return obj is Result result && result.Equals(this);