ISyscallApi.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. namespace Ryujinx.Horizon.Common
  3. {
  4. public interface ISyscallApi
  5. {
  6. Result SetHeapSize(out ulong address, ulong size);
  7. void SleepThread(long timeout);
  8. Result CloseHandle(int handle);
  9. Result WaitSynchronization(out int handleIndex, ReadOnlySpan<int> handles, long timeout);
  10. Result CancelSynchronization(int handle);
  11. Result GetProcessId(out ulong pid, int handle);
  12. Result ConnectToNamedPort(out int handle, string name);
  13. Result SendSyncRequest(int handle);
  14. Result CreateSession(out int serverSessionHandle, out int clientSessionHandle, bool isLight, string name);
  15. Result AcceptSession(out int sessionHandle, int portHandle);
  16. Result ReplyAndReceive(out int handleIndex, ReadOnlySpan<int> handles, int replyTargetHandle, long timeout);
  17. Result CreateEvent(out int writableHandle, out int readableHandle);
  18. Result SignalEvent(int handle);
  19. Result ClearEvent(int handle);
  20. Result ResetSignal(int handle);
  21. Result CreatePort(out int serverPortHandle, out int clientPortHandle, int maxSessions, bool isLight, string name);
  22. Result ManageNamedPort(out int handle, string name, int maxSessions);
  23. Result ConnectToPort(out int clientSessionHandle, int clientPortHandle);
  24. }
  25. }