IPC refactor part 3+4: New server HIPC message processor (#4188)
* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization * Make types match on calls to AlignUp/AlignDown * Formatting * Address some PR feedback * Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations * Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory * Implement EventType * Address more PR feedback * Log request processing errors since they are not normal * Rename waitable to multiwait and add missing lock * PR feedback * Ac_K PR feedback
This commit is contained in:
parent
c6a139a6e7
commit
08831eecf7
213 changed files with 9762 additions and 1010 deletions
33
Ryujinx.Horizon.Common/ISyscallApi.cs
Normal file
33
Ryujinx.Horizon.Common/ISyscallApi.cs
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue