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/Friend/ServiceCreator | |
| 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/Friend/ServiceCreator')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs | 18 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/INotificationService.cs | 6 |
2 files changed, 12 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs b/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs index 461fde17..1ae5d487 100644 --- a/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs +++ b/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs @@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator _permissionLevel = permissionLevel; } - [Command(0)] + [CommandHipc(0)] // GetCompletionEvent() -> handle<copy> public ResultCode GetCompletionEvent(ServiceCtx context) { @@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10100)] + [CommandHipc(10100)] // nn::friends::GetFriendListIds(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid) // -> int outCount, array<nn::account::NetworkServiceAccountId, 0xa> public ResultCode GetFriendListIds(ServiceCtx context) @@ -82,7 +82,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10101)] + [CommandHipc(10101)] // nn::friends::GetFriendList(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid) // -> int outCount, array<nn::friends::detail::FriendImpl, 0x6> public ResultCode GetFriendList(ServiceCtx context) @@ -120,7 +120,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10400)] + [CommandHipc(10400)] // nn::friends::GetBlockedUserListIds(int offset, nn::account::Uid userId) -> (u32, buffer<nn::account::NetworkServiceAccountId, 0xa>) public ResultCode GetBlockedUserListIds(ServiceCtx context) { @@ -139,7 +139,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10600)] + [CommandHipc(10600)] // nn::friends::DeclareOpenOnlinePlaySession(nn::account::Uid userId) public ResultCode DeclareOpenOnlinePlaySession(ServiceCtx context) { @@ -160,7 +160,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10601)] + [CommandHipc(10601)] // nn::friends::DeclareCloseOnlinePlaySession(nn::account::Uid userId) public ResultCode DeclareCloseOnlinePlaySession(ServiceCtx context) { @@ -181,7 +181,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10610)] + [CommandHipc(10610)] // nn::friends::UpdateUserPresence(nn::account::Uid, u64, pid, buffer<nn::friends::detail::UserPresenceImpl, 0x19>) public ResultCode UpdateUserPresence(ServiceCtx context) { @@ -214,7 +214,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10700)] + [CommandHipc(10700)] // nn::friends::GetPlayHistoryRegistrationKey(b8 unknown, nn::account::Uid) -> buffer<nn::friends::PlayHistoryRegistrationKey, 0x1a> public ResultCode GetPlayHistoryRegistrationKey(ServiceCtx context) { @@ -277,7 +277,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(10702)] + [CommandHipc(10702)] // nn::friends::AddPlayHistory(nn::account::Uid, u64, pid, buffer<nn::friends::PlayHistoryRegistrationKey, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>) public ResultCode AddPlayHistory(ServiceCtx context) { diff --git a/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/INotificationService.cs b/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/INotificationService.cs index b99fafbe..700d4ab4 100644 --- a/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/INotificationService.cs +++ b/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/INotificationService.cs @@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator NotificationEventHandler.Instance.RegisterNotificationService(this); } - [Command(0)] //2.0.0+ + [CommandHipc(0)] //2.0.0+ // nn::friends::detail::ipc::INotificationService::GetEvent() -> handle<copy> public ResultCode GetEvent(ServiceCtx context) { @@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(1)] //2.0.0+ + [CommandHipc(1)] //2.0.0+ // nn::friends::detail::ipc::INotificationService::Clear() public ResultCode Clear(ServiceCtx context) { @@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator return ResultCode.Success; } - [Command(2)] // 2.0.0+ + [CommandHipc(2)] // 2.0.0+ // nn::friends::detail::ipc::INotificationService::Pop() -> nn::friends::detail::ipc::SizedNotificationInfo public ResultCode Pop(ServiceCtx context) { |
