Difference between revisions of "Friend services"

From Nintendo Switch Brew
Jump to navigation Jump to search
 
(12 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Cmd || Name || Notes
+
! Cmd || Name
 
|-
 
|-
| 0 || CreateFriendService || Returns an [[#IFriendService]].
+
| 0 || [[#CreateFriendService|CreateFriendService]]
 
|-
 
|-
| 1 || [2.0.0+] CreateNotificationService || Takes an input userID and returns [[#INotificationService]].
+
| 1 || [2.0.0+] [[#CreateNotificationService|CreateNotificationService]]
 
|-
 
|-
| 2 || [4.0.0+] CreateDaemonSuspendSessionService || Returns an [[#IDaemonSuspendSessionService]].
+
| 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
 
|-
 
|-
| 20700 || GetPlayHistoryList
+
| 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
 
| 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
Line 102: Line 137:
 
| 21000 || GetExternalApplicationCatalog
 
| 21000 || GetExternalApplicationCatalog
 
|-
 
|-
| 22000 || [9.0.0+] GetReceivedFriendInvitationList
+
| 22000 || [19.0.0+] GetReceivedFriendInvitationListV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationList)
 +
|-
 +
| 22001 || [19.0.0+] GetReceivedFriendInvitationDetailedInfoV1 ([9.0.0-18.1.0] GetReceivedFriendInvitationDetailedInfo)
 
|-
 
|-
| 22001 || [9.0.0+] GetReceivedFriendInvitationDetailedInfo
+
| 22002 || [19.0.0+] GetReceivedFriendInvitationListV2
 +
|-
 +
| 22003 || [19.0.0+] GetReceivedFriendInvitationDetailedInfoV2
 
|-
 
|-
 
| 22010 || [9.0.0+] GetReceivedFriendInvitationCountCache
 
| 22010 || [9.0.0+] GetReceivedFriendInvitationCountCache
Line 156: 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 170: Line 213:
 
| 30830 || ClearPlayLog
 
| 30830 || ClearPlayLog
 
|-
 
|-
| 30900 || [9.0.0+] SendFriendInvitation
+
| 30900 || [19.0.0+] SendFriendInvitationV1 ([9.0.0-18.1.0] SendFriendInvitation)
 +
|-
 +
| 30901 || [19.0.0+] SendFriendInvitationV2
 
|-
 
|-
 
| 30910 || [9.0.0+] ReadFriendInvitation
 
| 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 192: Line 245:
  
 
== IDaemonSuspendSessionService ==
 
== IDaemonSuspendSessionService ==
This is "nn::friends::detail::ipc::IDaemonSuspendSessionService".
+
This is "nn::friends::detail::ipc::IDaemonSuspendSessionService". This was added with [4.0.0+].
  
{| class="wikitable" border="1"
+
This service has no commands.
|-
 
! Cmd || Name
 
|-
 
| 0 || [4.0.0+]
 
|-
 
| 1 || [4.0.0+]
 
|-
 
| 2 || [4.0.0+]
 
|-
 
| 3 || [4.0.0+]
 
|-
 
| 4 || [4.0.0+]
 
|}
 
  
 
= nd:app =
 
= nd:app =

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.