diff options
| author | Mary <me@thog.eu> | 2021-04-14 00:01:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-14 00:01:24 +0200 |
| commit | 0746b83edf49d1fd668dd337264e942f361b675c (patch) | |
| tree | 37b71396036206252cdc42715d6a3046ee81c795 /Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy | |
| parent | faa654dbaf7cd5262c78c0961a5aa72b1ce8ac33 (diff) | |
Initial support for the new 12.x IPC system (#2182)
* Rename CommandAttribute as CommandHIpcAttribute to prepare for 12.x changes
* Implement inital support for TIPC and adds SM command ids
* *Ipc to *ipc
* Missed a ref in last commit...
* CommandAttributeTIpc to CommandAttributeTipc
* Addresses comment and fixes some bugs around
TIPC doesn't have any padding requirements as buffer C isn't a thing
Fix for RegisterService inverting two argument only on TIPC
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy')
6 files changed, 52 insertions, 52 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAudioController.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAudioController.cs index 426914bb..3f81fda6 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAudioController.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAudioController.cs @@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { public IAudioController() { } - [Command(0)] + [CommandHipc(0)] // SetExpectedMasterVolume(f32, f32) public ResultCode SetExpectedMasterVolume(ServiceCtx context) { @@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(1)] + [CommandHipc(1)] // GetMainAppletExpectedMasterVolume() -> f32 public ResultCode GetMainAppletExpectedMasterVolume(ServiceCtx context) { @@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(2)] + [CommandHipc(2)] // GetLibraryAppletExpectedMasterVolume() -> f32 public ResultCode GetLibraryAppletExpectedMasterVolume(ServiceCtx context) { @@ -40,7 +40,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(3)] + [CommandHipc(3)] // ChangeMainAppletMasterVolume(f32, u64) public ResultCode ChangeMainAppletMasterVolume(ServiceCtx context) { @@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(4)] + [CommandHipc(4)] // SetTransparentVolumeRate(f32) public ResultCode SetTransparentVolumeRate(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs index 3e0e3a67..8dc288e6 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs @@ -27,7 +27,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys _lblControllerServer = new Lbl.LblControllerServer(context); } - [Command(0)] + [CommandHipc(0)] // GetEventHandle() -> handle<copy> public ResultCode GetEventHandle(ServiceCtx context) { @@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(1)] + [CommandHipc(1)] // ReceiveMessage() -> nn::am::AppletMessage public ResultCode ReceiveMessage(ServiceCtx context) { @@ -74,7 +74,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(5)] + [CommandHipc(5)] // GetOperationMode() -> u8 public ResultCode GetOperationMode(ServiceCtx context) { @@ -87,14 +87,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(6)] + [CommandHipc(6)] // GetPerformanceMode() -> nn::apm::PerformanceMode public ResultCode GetPerformanceMode(ServiceCtx context) { return (ResultCode)_apmManagerServer.GetPerformanceMode(context); } - [Command(8)] + [CommandHipc(8)] // GetBootMode() -> u8 public ResultCode GetBootMode(ServiceCtx context) { @@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(9)] + [CommandHipc(9)] // GetCurrentFocusState() -> u8 public ResultCode GetCurrentFocusState(ServiceCtx context) { @@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(50)] // 3.0.0+ + [CommandHipc(50)] // 3.0.0+ // IsVrModeEnabled() -> b8 public ResultCode IsVrModeEnabled(ServiceCtx context) { @@ -123,7 +123,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(51)] // 3.0.0+ + [CommandHipc(51)] // 3.0.0+ // SetVrModeEnabled(b8) public ResultCode SetVrModeEnabled(ServiceCtx context) { @@ -134,7 +134,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(52)] // 4.0.0+ + [CommandHipc(52)] // 4.0.0+ // SetLcdBacklighOffEnabled(b8) public ResultCode SetLcdBacklighOffEnabled(ServiceCtx context) { @@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(53)] // 7.0.0+ + [CommandHipc(53)] // 7.0.0+ // BeginVrModeEx() public ResultCode BeginVrModeEx(ServiceCtx context) { @@ -157,7 +157,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(54)] // 7.0.0+ + [CommandHipc(54)] // 7.0.0+ // EndVrModeEx() public ResultCode EndVrModeEx(ServiceCtx context) { @@ -187,7 +187,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys // TODO: It signals an internal event of ICommonStateGetter. We have to determine where this event is used. } - [Command(60)] // 3.0.0+ + [CommandHipc(60)] // 3.0.0+ // GetDefaultDisplayResolution() -> (u32, u32) public ResultCode GetDefaultDisplayResolution(ServiceCtx context) { @@ -197,7 +197,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(61)] // 3.0.0+ + [CommandHipc(61)] // 3.0.0+ // GetDefaultDisplayResolutionChangeEvent() -> handle<copy> public ResultCode GetDefaultDisplayResolutionChangeEvent(ServiceCtx context) { @@ -216,7 +216,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(66)] // 6.0.0+ + [CommandHipc(66)] // 6.0.0+ // SetCpuBoostMode(u32 cpu_boost_mode) public ResultCode SetCpuBoostMode(ServiceCtx context) { @@ -234,14 +234,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(91)] // 7.0.0+ + [CommandHipc(91)] // 7.0.0+ // GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration public ResultCode GetCurrentPerformanceConfiguration(ServiceCtx context) { return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context); } - [Command(900)] // 11.0.0+ + [CommandHipc(900)] // 11.0.0+ // SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled() public ResultCode SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs index 580574a8..5c53c66f 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs @@ -17,7 +17,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys _channelEvent = new KEvent(system.KernelContext); } - [Command(10)] + [CommandHipc(10)] // RequestToGetForeground() public ResultCode RequestToGetForeground(ServiceCtx context) { @@ -26,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(21)] + [CommandHipc(21)] // GetPopFromGeneralChannelEvent() -> handle<copy> public ResultCode GetPopFromGeneralChannelEvent(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ILibraryAppletCreator.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ILibraryAppletCreator.cs index 2cd2866e..cb81e21b 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ILibraryAppletCreator.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ILibraryAppletCreator.cs @@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { public ILibraryAppletCreator() { } - [Command(0)] + [CommandHipc(0)] // CreateLibraryApplet(u32, u32) -> object<nn::am::service::ILibraryAppletAccessor> public ResultCode CreateLibraryApplet(ServiceCtx context) { @@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(10)] + [CommandHipc(10)] // CreateStorage(u64) -> object<nn::am::service::IStorage> public ResultCode CreateStorage(ServiceCtx context) { @@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(11)] + [CommandHipc(11)] // CreateTransferMemoryStorage(b8, u64, handle<copy>) -> object<nn::am::service::IStorage> public ResultCode CreateTransferMemoryStorage(ServiceCtx context) { @@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(12)] // 2.0.0+ + [CommandHipc(12)] // 2.0.0+ // CreateHandleStorage(u64, handle<copy>) -> object<nn::am::service::IStorage> public ResultCode CreateHandleStorage(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ISelfController.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ISelfController.cs index 7e0c7e64..e9af55a0 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ISelfController.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ISelfController.cs @@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys _pid = pid; } - [Command(0)] + [CommandHipc(0)] // Exit() public ResultCode Exit(ServiceCtx context) { @@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(1)] + [CommandHipc(1)] // LockExit() public ResultCode LockExit(ServiceCtx context) { @@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(2)] + [CommandHipc(2)] // UnlockExit() public ResultCode UnlockExit(ServiceCtx context) { @@ -68,7 +68,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(3)] // 2.0.0+ + [CommandHipc(3)] // 2.0.0+ // EnterFatalSection() public ResultCode EnterFatalSection(ServiceCtx context) { @@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(4)] // 2.0.0+ + [CommandHipc(4)] // 2.0.0+ // LeaveFatalSection() public ResultCode LeaveFatalSection(ServiceCtx context) { @@ -101,7 +101,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return result; } - [Command(9)] + [CommandHipc(9)] // GetLibraryAppletLaunchableEvent() -> handle<copy> public ResultCode GetLibraryAppletLaunchableEvent(ServiceCtx context) { @@ -122,7 +122,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(10)] + [CommandHipc(10)] // SetScreenShotPermission(u32) public ResultCode SetScreenShotPermission(ServiceCtx context) { @@ -135,7 +135,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(11)] + [CommandHipc(11)] // SetOperationModeChangedNotification(b8) public ResultCode SetOperationModeChangedNotification(ServiceCtx context) { @@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(12)] + [CommandHipc(12)] // SetPerformanceModeChangedNotification(b8) public ResultCode SetPerformanceModeChangedNotification(ServiceCtx context) { @@ -161,7 +161,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(13)] + [CommandHipc(13)] // SetFocusHandlingMode(b8, b8, b8) public ResultCode SetFocusHandlingMode(ServiceCtx context) { @@ -174,7 +174,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(14)] + [CommandHipc(14)] // SetRestartMessageEnabled(b8) public ResultCode SetRestartMessageEnabled(ServiceCtx context) { @@ -187,7 +187,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(16)] // 2.0.0+ + [CommandHipc(16)] // 2.0.0+ // SetOutOfFocusSuspendingEnabled(b8) public ResultCode SetOutOfFocusSuspendingEnabled(ServiceCtx context) { @@ -200,7 +200,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(19)] // 3.0.0+ + [CommandHipc(19)] // 3.0.0+ // SetScreenShotImageOrientation(u32) public ResultCode SetScreenShotImageOrientation(ServiceCtx context) { @@ -213,7 +213,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(40)] + [CommandHipc(40)] // CreateManagedDisplayLayer() -> u64 public ResultCode CreateManagedDisplayLayer(ServiceCtx context) { @@ -225,7 +225,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(44)] // 10.0.0+ + [CommandHipc(44)] // 10.0.0+ // CreateManagedDisplaySeparableLayer() -> (u64, u64) public ResultCode CreateManagedDisplaySeparableLayer(ServiceCtx context) { @@ -239,7 +239,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(50)] + [CommandHipc(50)] // SetHandlesRequestToDisplay(b8) public ResultCode SetHandlesRequestToDisplay(ServiceCtx context) { @@ -252,7 +252,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(62)] + [CommandHipc(62)] // SetIdleTimeDetectionExtension(u32) public ResultCode SetIdleTimeDetectionExtension(ServiceCtx context) { @@ -265,7 +265,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(63)] + [CommandHipc(63)] // GetIdleTimeDetectionExtension() -> u32 public ResultCode GetIdleTimeDetectionExtension(ServiceCtx context) { @@ -276,7 +276,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(68)] + [CommandHipc(68)] // SetAutoSleepDisabled(u8) public ResultCode SetAutoSleepDisabled(ServiceCtx context) { @@ -287,7 +287,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(69)] + [CommandHipc(69)] // IsAutoSleepDisabled() -> u8 public ResultCode IsAutoSleepDisabled(ServiceCtx context) { @@ -296,7 +296,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(90)] // 6.0.0+ + [CommandHipc(90)] // 6.0.0+ // GetAccumulatedSuspendedTickValue() -> u64 public ResultCode GetAccumulatedSuspendedTickValue(ServiceCtx context) { @@ -305,7 +305,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(91)] // 6.0.0+ + [CommandHipc(91)] // 6.0.0+ // GetAccumulatedSuspendedTickChangedEvent() -> handle<copy> public ResultCode GetAccumulatedSuspendedTickChangedEvent(ServiceCtx context) { @@ -326,7 +326,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(100)] // 7.0.0+ + [CommandHipc(100)] // 7.0.0+ // SetAlbumImageTakenNotificationEnabled(u8) public ResultCode SetAlbumImageTakenNotificationEnabled(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IWindowController.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IWindowController.cs index 8c127b98..a97b01b4 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IWindowController.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IWindowController.cs @@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys _pid = pid; } - [Command(1)] + [CommandHipc(1)] // GetAppletResourceUserId() -> nn::applet::AppletResourceUserId public ResultCode GetAppletResourceUserId(ServiceCtx context) { @@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } - [Command(10)] + [CommandHipc(10)] // AcquireForegroundRights() public ResultCode AcquireForegroundRights(ServiceCtx context) { |
