forked from Mirror/Ryujinx
9f6b24edfd
* Implement session count decrement when the handle is closed * Remove unused field * Implement SendSyncRequestWithUserBuffer, SendAsyncRequestWithUserBuffer and ReplyAndReceiveWithUserBuffer syscalls * Nits * Fix swapped copy dst/src * Add missing pointer buffer descriptor write on reply * Fix IPC unaligned buffer copy and restoring client attributes on reply * Oops * Fix SetIpcMappingPermission * Fix unaligned copy bugs * Free memory used for temporary IPC buffers
33 lines
No EOL
964 B
C#
33 lines
No EOL
964 B
C#
using Ryujinx.HLE.HOS.Kernel.Process;
|
|
using Ryujinx.HLE.HOS.Kernel.Threading;
|
|
|
|
namespace Ryujinx.HLE.HOS.Kernel.Ipc
|
|
{
|
|
class KSessionRequest
|
|
{
|
|
public KBufferDescriptorTable BufferDescriptorTable { get; }
|
|
|
|
public KThread ClientThread { get; }
|
|
|
|
public KProcess ServerProcess { get; set; }
|
|
|
|
public KWritableEvent AsyncEvent { get; }
|
|
|
|
public ulong CustomCmdBuffAddr { get; }
|
|
public ulong CustomCmdBuffSize { get; }
|
|
|
|
public KSessionRequest(
|
|
KThread clientThread,
|
|
ulong customCmdBuffAddr,
|
|
ulong customCmdBuffSize,
|
|
KWritableEvent asyncEvent = null)
|
|
{
|
|
ClientThread = clientThread;
|
|
CustomCmdBuffAddr = customCmdBuffAddr;
|
|
CustomCmdBuffSize = customCmdBuffSize;
|
|
AsyncEvent = asyncEvent;
|
|
|
|
BufferDescriptorTable = new KBufferDescriptorTable();
|
|
}
|
|
}
|
|
} |