Difference between revisions of "Friend services"
(18 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name | + | ! Cmd || Name |
|- | |- | ||
− | | 0 || | + | | 0 || [[#CreateFriendService|CreateFriendService]] |
|- | |- | ||
− | | 1 || [2.0.0+] | + | | 1 || [2.0.0+] [[#CreateNotificationService|CreateNotificationService]] |
|- | |- | ||
− | | 2 || [4.0.0+] | + | | 2 || [4.0.0+] [[#CreateDaemonSuspendSessionService|CreateDaemonSuspendSessionService]] |
|} | |} | ||
+ | |||
+ | == CreateFriendService == | ||
+ | Returns an [[#IFriendService]]. | ||
+ | |||
+ | == CreateNotificationService == | ||
+ | Takes an input userID and returns [[#INotificationService]]. | ||
+ | |||
+ | == CreateDaemonSuspendSessionService == | ||
+ | Returns an [[#IDaemonSuspendSessionService]]. | ||
== IFriendService == | == IFriendService == | ||
Line 31: | Line 40: | ||
|- | |- | ||
| 10110 || GetFriendProfileImage | | 10110 || GetFriendProfileImage | ||
+ | |- | ||
+ | | 10111 || [18.0.0+] GetFriendProfileImageWithImageSize | ||
+ | |- | ||
+ | | 10120 || [12.0.0+] CheckFriendListAvailability ([10.0.0-11.0.1] IsFriendListCacheAvailable) | ||
+ | |- | ||
+ | | 10121 || [10.0.0+] EnsureFriendListAvailable | ||
|- | |- | ||
| 10200 || SendFriendRequestForApplication | | 10200 || SendFriendRequestForApplication | ||
Line 37: | Line 52: | ||
|- | |- | ||
| 10400 || GetBlockedUserListIds | | 10400 || GetBlockedUserListIds | ||
+ | |- | ||
+ | | 10420 || [12.0.0+] CheckBlockedUserListAvailability ([10.0.0-11.0.1] IsBlockedUserListCacheAvailable) | ||
+ | |- | ||
+ | | 10421 || [10.0.0+] EnsureBlockedUserListAvailable | ||
|- | |- | ||
| 10500 || GetProfileList | | 10500 || GetProfileList | ||
+ | |- | ||
+ | | 10501 || [18.0.0+] GetProfileListV2 | ||
|- | |- | ||
| 10600 || DeclareOpenOnlinePlaySession | | 10600 || DeclareOpenOnlinePlaySession | ||
Line 53: | Line 74: | ||
|- | |- | ||
| 11000 || GetProfileImageUrl | | 11000 || GetProfileImageUrl | ||
+ | |- | ||
+ | | 11001 || [18.0.0+] GetProfileImageUrlV2 | ||
|- | |- | ||
| 20100 || GetFriendCount | | 20100 || GetFriendCount | ||
Line 63: | Line 86: | ||
|- | |- | ||
| 20104 || RequestSyncFriendList | | 20104 || RequestSyncFriendList | ||
+ | |- | ||
+ | | 20105 || [19.0.0+] GetFriendListForViewer | ||
+ | |- | ||
+ | | 20106 || [19.0.0+] UpdateFriendInfoForViewer | ||
|- | |- | ||
| 20110 || LoadFriendSetting | | 20110 || LoadFriendSetting | ||
Line 84: | Line 111: | ||
| 20401 || SyncBlockedUserList | | 20401 || SyncBlockedUserList | ||
|- | |- | ||
− | | 20500 || GetProfileExtraList | + | | 20500 || [19.0.0+] GetProfileExtraListV1 ([1.0.0-18.1.0] GetProfileExtraList) |
|- | |- | ||
| 20501 || GetRelationship | | 20501 || GetRelationship | ||
|- | |- | ||
− | | 20600 || GetUserPresenceView | + | | 20502 || [19.0.0+] GetProfileExtraListV2 |
+ | |- | ||
+ | | 20600 || [19.0.0+] GetUserPresenceViewV1 ([1.0.0-18.1.0] GetUserPresenceView) | ||
+ | |- | ||
+ | | 20601 || [19.0.0+] GetUserPresenceViewV2 | ||
|- | |- | ||
− | | 20700 || GetPlayHistoryList | + | | 20700 || [19.0.0+] GetPlayHistoryListV1 ([1.0.0-18.1.0] GetPlayHistoryList) |
|- | |- | ||
| 20701 || GetPlayHistoryStatistics | | 20701 || GetPlayHistoryStatistics | ||
|- | |- | ||
− | | 20800 || LoadUserSetting | + | | 20702 || [19.0.0+] GetPlayHistoryListV2 |
+ | |- | ||
+ | | 20800 || [19.0.0+] LoadUserSettingV1 ([1.0.0-18.1.0] LoadUserSetting) | ||
|- | |- | ||
| 20801 || SyncUserSetting | | 20801 || SyncUserSetting | ||
+ | |- | ||
+ | | 20802 || [19.0.0+] LoadUserSettingV2 | ||
|- | |- | ||
| 20900 || RequestListSummaryOverlayNotification | | 20900 || RequestListSummaryOverlayNotification | ||
|- | |- | ||
| 21000 || GetExternalApplicationCatalog | | 21000 || GetExternalApplicationCatalog | ||
+ | |- | ||
+ | | 22000 || [19.0.0+] GetReceivedFriendInvitationListV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationList) | ||
+ | |- | ||
+ | | 22001 || [19.0.0+] GetReceivedFriendInvitationDetailedInfoV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationDetailedInfo) | ||
+ | |- | ||
+ | | 22002 || [19.0.0+] GetReceivedFriendInvitationListV2 | ||
+ | |- | ||
+ | | 22003 || [19.0.0+] GetReceivedFriendInvitationDetailedInfoV2 | ||
+ | |- | ||
+ | | 22010 || [9.0.0+] GetReceivedFriendInvitationCountCache | ||
|- | |- | ||
| 30100 || DropFriendNewlyFlags | | 30100 || DropFriendNewlyFlags | ||
Line 150: | Line 195: | ||
| 30402 || UnblockUser | | 30402 || UnblockUser | ||
|- | |- | ||
− | | 30500 || GetProfileExtraFromFriendCode | + | | 30500 || [19.0.0+] GetProfileExtraFromFriendCodeV1 ([1.0.0-18.1.0] GetProfileExtraFromFriendCode) |
+ | |- | ||
+ | | 30501 || [19.0.0+] GetProfileExtraFromFriendCodeV2 | ||
|- | |- | ||
| 30700 || DeletePlayHistory | | 30700 || DeletePlayHistory | ||
+ | |- | ||
+ | | 30701 || [19.0.0+] AddPlayHistoryWithApplication | ||
|- | |- | ||
| 30810 || ChangePresencePermission | | 30810 || ChangePresencePermission | ||
Line 163: | Line 212: | ||
|- | |- | ||
| 30830 || ClearPlayLog | | 30830 || ClearPlayLog | ||
+ | |- | ||
+ | | 30900 || [19.0.0+] SendFriendInvitationV1 ([9.0.0-18.1.0] SendFriendInvitation) | ||
+ | |- | ||
+ | | 30901 || [19.0.0+] SendFriendInvitationV2 | ||
+ | |- | ||
+ | | 30910 || [9.0.0+] ReadFriendInvitation | ||
+ | |- | ||
+ | | 30911 || [9.1.0+] ReadAllFriendInvitations | ||
+ | |- | ||
+ | | 31000 || [19.0.0+] OpenUser | ||
+ | |- | ||
+ | | 40100 || [10.0.0+] DeleteFriendListCache | ||
+ | |- | ||
+ | | 40400 || [10.0.0+] DeleteBlockedUserListCache | ||
|- | |- | ||
| 49900 || DeleteNetworkServiceAccountCache | | 49900 || DeleteNetworkServiceAccountCache | ||
Line 172: | Line 235: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name | + | ! Cmd || Name || Notes |
|- | |- | ||
− | | 0 || GetEvent | + | | 0 || [2.0.0+] GetEvent || Returns an output event handle |
|- | |- | ||
− | | 1 || Clear | + | | 1 || [2.0.0+] Clear || |
|- | |- | ||
− | | 2 || Pop | + | | 2 || [2.0.0+] Pop || |
|} | |} | ||
== IDaemonSuspendSessionService == | == IDaemonSuspendSessionService == | ||
− | This is "nn::friends::detail::ipc::IDaemonSuspendSessionService". | + | This is "nn::friends::detail::ipc::IDaemonSuspendSessionService". This was added with [4.0.0+]. |
+ | |||
+ | This service has no commands. | ||
+ | |||
+ | = nd:app = | ||
+ | This is "nn::nd::detail::IServiceForApplication". | ||
+ | |||
+ | This was added with [5.0.0] and removed with [6.0.0]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetReceivableNeighborInfoCountMax | ||
+ | |- | ||
+ | | 10 || IsNeighborDetectionEnabled | ||
+ | |} | ||
+ | |||
+ | = nd:sys = | ||
+ | This is "nn::nd::detail::IServiceForSystem". | ||
+ | |||
+ | This was added with [5.0.0] and removed with [6.0.0]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 188: | Line 272: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || | + | | 0 || GetReceivableNeighborInfoCountMax |
+ | |- | ||
+ | | 10 || IsNeighborDetectionEnabled | ||
+ | |- | ||
+ | | 200 || SetSystemData | ||
+ | |- | ||
+ | | 201 || ClearSystemData | ||
+ | |- | ||
+ | | 203 || GetReceivableNeighborInfoCountForSystem | ||
+ | |- | ||
+ | | 204 || ReceiveNeighborInfoForSystem | ||
+ | |- | ||
+ | | 205 || SetSender | ||
+ | |- | ||
+ | | 206 || GetSender | ||
|- | |- | ||
− | | | + | | 207 || CreateScannerForSystem |
|- | |- | ||
− | | | + | | 208 || CreateReceiveEventHolderForSystem |
|- | |- | ||
− | | | + | | 223 || EnableNeighborDetection |
|- | |- | ||
− | | | + | | 224 || DisableNeighborDetection |
+ | |- | ||
+ | | 226 || EnablePowerSave | ||
+ | |- | ||
+ | | 227 || DisablePowerSave | ||
+ | |- | ||
+ | | 228 || IsPowerSaveEnabled | ||
+ | |- | ||
+ | | 232 || ClearBlockedUsers | ||
+ | |- | ||
+ | | 233 || GetBlockedUserCount | ||
+ | |- | ||
+ | | 234 || BlockUserByLocalUserId | ||
+ | |- | ||
+ | | 235 || BlockUserByNetworkUserId | ||
+ | |- | ||
+ | | 236 || UnblockUserByLocalUserId | ||
+ | |- | ||
+ | | 237 || UnblockUserByNetworkUserId | ||
+ | |- | ||
+ | | 240 || DeleteApplication | ||
+ | |- | ||
+ | | 250 || InitializeApplicationInfo | ||
+ | |- | ||
+ | | 260 || CreateAccountSystemSaveDataAccessSuppressor | ||
+ | |- | ||
+ | | 300 || AddReceivedNeighborInfoForSystemForDebug | ||
+ | |- | ||
+ | | 301 || GetSendDataForDebug | ||
+ | |- | ||
+ | | 302 || ClearReceiveCounterForDebug | ||
+ | |- | ||
+ | | 303 || GetNextReceiveCounterForDebug | ||
+ | |- | ||
+ | | 304 || ListBlockedUsersForDebug | ||
+ | |- | ||
+ | | 305 || RefreshSendDataIdForDebug | ||
+ | |- | ||
+ | | 306 || ReloadFwdbgSettingsForDebug | ||
+ | |- | ||
+ | | 307 || EnableApplicationForDebug | ||
+ | |- | ||
+ | | 308 || GetNextReceiveCountersForDebug | ||
+ | |- | ||
+ | | 309 || ListApplicationInfoForDebug | ||
+ | |- | ||
+ | | 310 || SetApplicationDataForDebug | ||
+ | |- | ||
+ | | 400 || GetNetworkUserId | ||
+ | |- | ||
+ | | 401 || DeleteNetworkUserId | ||
|} | |} | ||
− | = | + | = InAppScreenName = |
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 || 0x40 || UTF-8 string, NUL-terminated. | ||
+ | |- | ||
+ | | 0x40 || 0x8 || [[Settings_services|LanguageCode]] | ||
+ | |} | ||
+ | |||
+ | This is "nn::friends::InAppScreenName". This is a 0x48-byte struct. | ||
+ | |||
+ | = FriendInvitationGameModeDescription = | ||
+ | This is "nn::friends::FriendInvitationGameModeDescription". This is a 0xC00-byte struct. | ||
+ | |||
+ | = FriendInvitationId = | ||
+ | This is "nn::friends::FriendInvitationId". This is 8-bytes. | ||
− | = | + | = FriendInvitationGroupId = |
+ | This is "nn::friends::FriendInvitationGroupId". This is 8-bytes. | ||
[[Category:Services]] | [[Category:Services]] |
Latest revision as of 20:31, 8 October 2024
friend:u, friend:v, friend:m, friend:s, friend:a
This is "nn::friends::detail::ipc::IServiceCreator".
Cmd | Name |
---|---|
0 | CreateFriendService |
1 | [2.0.0+] CreateNotificationService |
2 | [4.0.0+] CreateDaemonSuspendSessionService |
CreateFriendService
Returns an #IFriendService.
CreateNotificationService
Takes an input userID and returns #INotificationService.
CreateDaemonSuspendSessionService
Returns an #IDaemonSuspendSessionService.
IFriendService
This is "nn::friends::detail::ipc::IFriendService".
Cmd | Name |
---|---|
0 | GetCompletionEvent |
1 | Cancel |
10100 | GetFriendListIds |
10101 | GetFriendList |
10102 | UpdateFriendInfo |
10110 | GetFriendProfileImage |
10111 | [18.0.0+] GetFriendProfileImageWithImageSize |
10120 | [12.0.0+] CheckFriendListAvailability ([10.0.0-11.0.1] IsFriendListCacheAvailable) |
10121 | [10.0.0+] EnsureFriendListAvailable |
10200 | SendFriendRequestForApplication |
10211 | AddFacedFriendRequestForApplication |
10400 | GetBlockedUserListIds |
10420 | [12.0.0+] CheckBlockedUserListAvailability ([10.0.0-11.0.1] IsBlockedUserListCacheAvailable) |
10421 | [10.0.0+] EnsureBlockedUserListAvailable |
10500 | GetProfileList |
10501 | [18.0.0+] GetProfileListV2 |
10600 | DeclareOpenOnlinePlaySession |
10601 | DeclareCloseOnlinePlaySession |
10610 | UpdateUserPresence |
10700 | GetPlayHistoryRegistrationKey |
10701 | GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId |
10702 | AddPlayHistory |
11000 | GetProfileImageUrl |
11001 | [18.0.0+] GetProfileImageUrlV2 |
20100 | GetFriendCount |
20101 | GetNewlyFriendCount |
20102 | GetFriendDetailedInfo |
20103 | SyncFriendList |
20104 | RequestSyncFriendList |
20105 | [19.0.0+] GetFriendListForViewer |
20106 | [19.0.0+] UpdateFriendInfoForViewer |
20110 | LoadFriendSetting |
20200 | GetReceivedFriendRequestCount |
20201 | GetFriendRequestList |
20300 | GetFriendCandidateList |
20301 | [3.0.0+] GetNintendoNetworkIdInfo |
20302 | [5.0.0+] GetSnsAccountLinkage |
20303 | [5.0.0+] GetSnsAccountProfile |
20304 | [5.0.0+] GetSnsAccountFriendList |
20400 | GetBlockedUserList |
20401 | SyncBlockedUserList |
20500 | [19.0.0+] GetProfileExtraListV1 ([1.0.0-18.1.0] GetProfileExtraList) |
20501 | GetRelationship |
20502 | [19.0.0+] GetProfileExtraListV2 |
20600 | [19.0.0+] GetUserPresenceViewV1 ([1.0.0-18.1.0] GetUserPresenceView) |
20601 | [19.0.0+] GetUserPresenceViewV2 |
20700 | [19.0.0+] GetPlayHistoryListV1 ([1.0.0-18.1.0] GetPlayHistoryList) |
20701 | GetPlayHistoryStatistics |
20702 | [19.0.0+] GetPlayHistoryListV2 |
20800 | [19.0.0+] LoadUserSettingV1 ([1.0.0-18.1.0] LoadUserSetting) |
20801 | SyncUserSetting |
20802 | [19.0.0+] LoadUserSettingV2 |
20900 | RequestListSummaryOverlayNotification |
21000 | GetExternalApplicationCatalog |
22000 | [19.0.0+] GetReceivedFriendInvitationListV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationList) |
22001 | [19.0.0+] GetReceivedFriendInvitationDetailedInfoV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationDetailedInfo) |
22002 | [19.0.0+] GetReceivedFriendInvitationListV2 |
22003 | [19.0.0+] GetReceivedFriendInvitationDetailedInfoV2 |
22010 | [9.0.0+] GetReceivedFriendInvitationCountCache |
30100 | DropFriendNewlyFlags |
30101 | DeleteFriend |
30110 | DropFriendNewlyFlag |
30120 | ChangeFriendFavoriteFlag |
30121 | ChangeFriendOnlineNotificationFlag |
30200 | SendFriendRequest |
30201 | SendFriendRequestWithApplicationInfo |
30202 | CancelFriendRequest |
30203 | AcceptFriendRequest |
30204 | RejectFriendRequest |
30205 | ReadFriendRequest |
30210 | GetFacedFriendRequestRegistrationKey |
30211 | AddFacedFriendRequest |
30212 | CancelFacedFriendRequest |
30213 | GetFacedFriendRequestProfileImage |
30214 | GetFacedFriendRequestProfileImageFromPath |
30215 | SendFriendRequestWithExternalApplicationCatalogId |
30216 | ResendFacedFriendRequest |
30217 | [3.0.0+] SendFriendRequestWithNintendoNetworkIdInfo |
30300 | [5.0.0+] GetSnsAccountLinkPageUrl |
30301 | [5.0.0+] UnlinkSnsAccount |
30400 | BlockUser |
30401 | BlockUserWithApplicationInfo |
30402 | UnblockUser |
30500 | [19.0.0+] GetProfileExtraFromFriendCodeV1 ([1.0.0-18.1.0] GetProfileExtraFromFriendCode) |
30501 | [19.0.0+] GetProfileExtraFromFriendCodeV2 |
30700 | DeletePlayHistory |
30701 | [19.0.0+] AddPlayHistoryWithApplication |
30810 | ChangePresencePermission |
30811 | ChangeFriendRequestReception |
30812 | ChangePlayLogPermission |
30820 | IssueFriendCode |
30830 | ClearPlayLog |
30900 | [19.0.0+] SendFriendInvitationV1 ([9.0.0-18.1.0] SendFriendInvitation) |
30901 | [19.0.0+] SendFriendInvitationV2 |
30910 | [9.0.0+] ReadFriendInvitation |
30911 | [9.1.0+] ReadAllFriendInvitations |
31000 | [19.0.0+] OpenUser |
40100 | [10.0.0+] DeleteFriendListCache |
40400 | [10.0.0+] DeleteBlockedUserListCache |
49900 | DeleteNetworkServiceAccountCache |
INotificationService
This is "nn::friends::detail::ipc::INotificationService".
Cmd | Name | Notes |
---|---|---|
0 | [2.0.0+] GetEvent | Returns an output event handle |
1 | [2.0.0+] Clear | |
2 | [2.0.0+] Pop |
IDaemonSuspendSessionService
This is "nn::friends::detail::ipc::IDaemonSuspendSessionService". This was added with [4.0.0+].
This service has no commands.
nd:app
This is "nn::nd::detail::IServiceForApplication".
This was added with [5.0.0] and removed with [6.0.0].
Cmd | Name |
---|---|
0 | GetReceivableNeighborInfoCountMax |
10 | IsNeighborDetectionEnabled |
nd:sys
This is "nn::nd::detail::IServiceForSystem".
This was added with [5.0.0] and removed with [6.0.0].
Cmd | Name |
---|---|
0 | GetReceivableNeighborInfoCountMax |
10 | IsNeighborDetectionEnabled |
200 | SetSystemData |
201 | ClearSystemData |
203 | GetReceivableNeighborInfoCountForSystem |
204 | ReceiveNeighborInfoForSystem |
205 | SetSender |
206 | GetSender |
207 | CreateScannerForSystem |
208 | CreateReceiveEventHolderForSystem |
223 | EnableNeighborDetection |
224 | DisableNeighborDetection |
226 | EnablePowerSave |
227 | DisablePowerSave |
228 | IsPowerSaveEnabled |
232 | ClearBlockedUsers |
233 | GetBlockedUserCount |
234 | BlockUserByLocalUserId |
235 | BlockUserByNetworkUserId |
236 | UnblockUserByLocalUserId |
237 | UnblockUserByNetworkUserId |
240 | DeleteApplication |
250 | InitializeApplicationInfo |
260 | CreateAccountSystemSaveDataAccessSuppressor |
300 | AddReceivedNeighborInfoForSystemForDebug |
301 | GetSendDataForDebug |
302 | ClearReceiveCounterForDebug |
303 | GetNextReceiveCounterForDebug |
304 | ListBlockedUsersForDebug |
305 | RefreshSendDataIdForDebug |
306 | ReloadFwdbgSettingsForDebug |
307 | EnableApplicationForDebug |
308 | GetNextReceiveCountersForDebug |
309 | ListApplicationInfoForDebug |
310 | SetApplicationDataForDebug |
400 | GetNetworkUserId |
401 | DeleteNetworkUserId |
InAppScreenName
Offset | Size | Description |
---|---|---|
0x0 | 0x40 | UTF-8 string, NUL-terminated. |
0x40 | 0x8 | LanguageCode |
This is "nn::friends::InAppScreenName". This is a 0x48-byte struct.
FriendInvitationGameModeDescription
This is "nn::friends::FriendInvitationGameModeDescription". This is a 0xC00-byte struct.
FriendInvitationId
This is "nn::friends::FriendInvitationId". This is 8-bytes.
FriendInvitationGroupId
This is "nn::friends::FriendInvitationGroupId". This is 8-bytes.