aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Horizon.Common/ISyscallApi.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Horizon.Common/ISyscallApi.cs')
-rw-r--r--Ryujinx.Horizon.Common/ISyscallApi.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/Ryujinx.Horizon.Common/ISyscallApi.cs b/Ryujinx.Horizon.Common/ISyscallApi.cs
new file mode 100644
index 00000000..8fa276b5
--- /dev/null
+++ b/Ryujinx.Horizon.Common/ISyscallApi.cs
@@ -0,0 +1,33 @@
+using System;
+
+namespace Ryujinx.Horizon.Common
+{
+ public interface ISyscallApi
+ {
+ Result SetHeapSize(out ulong address, ulong size);
+
+ void SleepThread(long timeout);
+
+ Result CloseHandle(int handle);
+
+ Result WaitSynchronization(out int handleIndex, ReadOnlySpan<int> handles, long timeout);
+ Result CancelSynchronization(int handle);
+
+ Result GetProcessId(out ulong pid, int handle);
+
+ Result ConnectToNamedPort(out int handle, string name);
+ Result SendSyncRequest(int handle);
+ Result CreateSession(out int serverSessionHandle, out int clientSessionHandle, bool isLight, string name);
+ Result AcceptSession(out int sessionHandle, int portHandle);
+ Result ReplyAndReceive(out int handleIndex, ReadOnlySpan<int> handles, int replyTargetHandle, long timeout);
+
+ Result CreateEvent(out int writableHandle, out int readableHandle);
+ Result SignalEvent(int handle);
+ Result ClearEvent(int handle);
+ Result ResetSignal(int handle);
+
+ 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);
+ }
+}