Changes

Jump to navigation Jump to search
1,941 bytes added ,  03:17, 3 December 2019
Line 18: Line 18:  
| 5 || GetProfile || Returns an [[#IProfile]].
 
| 5 || GetProfile || Returns an [[#IProfile]].
 
|-
 
|-
| 6 || GetProfileDigest ||
+
| 6 || [3.0.0+] GetProfileDigest ||
 
|-
 
|-
| 50 || IsUserRegistrationRequestPermitted ||
+
| 50 || [[#IsUserRegistrationRequestPermitted]] ||
 
|-
 
|-
| 51 || TrySelectUserWithoutInteraction ||
+
| 51 || [[#TrySelectUserWithoutInteraction]] ||
 
|-
 
|-
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
Line 39: Line 39:  
|-
 
|-
 
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].
 
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].
 +
|-
 +
| 106 || [9.0.0+] GetProfileSyncNotifier ||
 
|-
 
|-
 
| 110 || StoreSaveDataThumbnail ||
 
| 110 || StoreSaveDataThumbnail ||
Line 46: Line 48:  
| 112 || LoadSaveDataThumbnail ||
 
| 112 || LoadSaveDataThumbnail ||
 
|-
 
|-
| 113 || GetSaveDataThumbnailExistence ||
+
| 113 || [5.0.0+] GetSaveDataThumbnailExistence ||
 
|-
 
|-
 
| 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].
 
| 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].
Line 70: Line 72:  
| 206 || CompleteUserRegistrationForcibly ||
 
| 206 || CompleteUserRegistrationForcibly ||
 
|-
 
|-
| 210 || CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]].
+
| 210 || [3.0.0+] CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]].
 
|-
 
|-
 
| 211 || [8.0.0+] CreateProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x4-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]].
 
| 211 || [8.0.0+] CreateProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x4-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]].
Line 80: Line 82:  
| 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]].
 
| 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]].
 
|-
 
|-
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].
+
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]] (formerly [[#IOAuthProcedureForGuestLogin]] with [1.0.0-2.3.0]).
 
|-
 
|-
| 291 || ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].
+
| 291 || [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].
 
|-
 
|-
 
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]].
 
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]].
 
|-
 
|-
| 997 || DebugInvalidateTokenCacheForUser ||
+
| 997 || [3.0.0+] DebugInvalidateTokenCacheForUser ||
 
|-
 
|-
 
| 998 || DebugSetUserStateClose ||
 
| 998 || DebugSetUserStateClose ||
Line 92: Line 94:  
| 999 || DebugSetUserStateOpen ||
 
| 999 || DebugSetUserStateOpen ||
 
|}
 
|}
 +
 +
== IsUserRegistrationRequestPermitted ==
 +
Takes a PID, an input u64 pid_reserved, and returns an output u8 bool.
 +
 +
== TrySelectUserWithoutInteraction ==
 +
Takes an input u8 bool isNetworkServiceAccountRequired, returns an output Uid.
    
== IManagerForSystemService ==
 
== IManagerForSystemService ==
Line 121: Line 129:  
|-
 
|-
 
| 120 || GetNintendoAccountId ||
 
| 120 || GetNintendoAccountId ||
 +
|-
 +
| 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint ||
 
|-
 
|-
 
| 130 || GetNintendoAccountUserResourceCache ||
 
| 130 || GetNintendoAccountUserResourceCache ||
Line 127: Line 137:  
|-
 
|-
 
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].
 
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].
 +
|-
 +
| 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache ||
 +
|-
 +
| 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync ||
 +
|-
 +
| 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||
 
|-
 
|-
 
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||  
 
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||  
Line 139: Line 155:  
== IFloatingRegistrationRequest ==
 
== IFloatingRegistrationRequest ==
 
This is "nn::account::baas::IFloatingRegistrationRequest".
 
This is "nn::account::baas::IFloatingRegistrationRequest".
 +
 +
Added with [3.0.0+].
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 197: Line 215:  
|-
 
|-
 
| 120 || GetNintendoAccountId ||
 
| 120 || GetNintendoAccountId ||
 +
|-
 +
| 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint ||
 
|-
 
|-
 
| 130 || GetNintendoAccountUserResourceCache ||
 
| 130 || GetNintendoAccountUserResourceCache ||
Line 203: Line 223:  
|-
 
|-
 
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].
 
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].
 +
|-
 +
| 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache ||
 +
|-
 +
| 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync ||
 +
|-
 +
| 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||
 
|-
 
|-
 
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||
 
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||
Line 236: Line 262:  
| 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].
 
| 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].
 
|-
 
|-
| 260 || CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].
+
| 260 || [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].
 
|-
 
|-
| 261 || ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].
+
| 261 || [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].
 
|-
 
|-
 
| 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]].
 
| 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]].
Line 249: Line 275:  
|-
 
|-
 
| 401 || [6.1.0+] RefreshServiceEntryRequirementCacheForOnlinePlayAsync || Takes a total of 0x8-bytes of input, returns an [[#IAsyncContext]].
 
| 401 || [6.1.0+] RefreshServiceEntryRequirementCacheForOnlinePlayAsync || Takes a total of 0x8-bytes of input, returns an [[#IAsyncContext]].
 +
|-
 +
| 900 || [9.0.0+] GetAuthenticationInfoForWin ||
 +
|-
 +
| 901 || [9.0.0+] ImportAsyncForWin ||
 
|-
 
|-
 
| 997 || DebugUnlinkNintendoAccountAsync || Returns an [[#IAsyncContext]].
 
| 997 || DebugUnlinkNintendoAccountAsync || Returns an [[#IAsyncContext]].
Line 295: Line 325:  
== IOAuthProcedureForExternalNsa ==
 
== IOAuthProcedureForExternalNsa ==
 
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
 
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
 +
 +
Added with [3.0.0+].
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 340: Line 372:  
| 101 || IsNetworkServiceAccountReplaced ||
 
| 101 || IsNetworkServiceAccountReplaced ||
 
|-
 
|-
| [?-5.1.0] 199 || GetUrlForIntroductionOfExtraMembership ||
+
| [2.0.0-5.1.0] 199 || GetUrlForIntroductionOfExtraMembership ||
 
|}
 
|}
   Line 454: Line 486:  
| 5 || GetProfile || Takes an input userID, returns an [[#IProfile]].
 
| 5 || GetProfile || Takes an input userID, returns an [[#IProfile]].
 
|-
 
|-
| 6 || GetProfileDigest ||
+
| 6 || [3.0.0+] GetProfileDigest ||
 
|-
 
|-
| 50 || IsUserRegistrationRequestPermitted ||
+
| 50 || [[#IsUserRegistrationRequestPermitted]] ||
 
|-
 
|-
| 51 || TrySelectUserWithoutInteraction ||
+
| 51 || [[#TrySelectUserWithoutInteraction]] ||
 
|-
 
|-
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
Line 464: Line 496:  
| 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].
 
| 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].
 
|-
 
|-
| 100 || InitializeApplicationInfo ||
+
| 100 || [[#InitializeApplicationInfoV0]] ||
 
|-
 
|-
| 101 || GetBaasAccountManagerForApplication || Returns an [[#IManagerForApplication]].
+
| 101 || GetBaasAccountManagerForApplication || Takes an input userID, returns an [[#IManagerForApplication]].
 
|-
 
|-
 
| 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]].
 
| 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]].
Line 482: Line 514:  
| 131 || [6.0.0+] ListOpenContextStoredUsers ||  
 
| 131 || [6.0.0+] ListOpenContextStoredUsers ||  
 
|-
 
|-
| 140 || [6.0.0+] InitializeApplicationInfo ||  
+
| 140 || [6.0.0+] [[#InitializeApplicationInfo]] ||  
 
|-
 
|-
 
| 141 || [6.0.0+] ListQualifiedUsers ||  
 
| 141 || [6.0.0+] ListQualifiedUsers ||  
Line 488: Line 520:  
| 150 || [6.0.0+] IsUserAccountSwitchLocked ||  
 
| 150 || [6.0.0+] IsUserAccountSwitchLocked ||  
 
|}
 
|}
 +
 +
InitializeApplicationInfo* is used by the user-process during service init.
 +
 +
== InitializeApplicationInfoV0 ==
 +
Takes a PID and an input u64 pid_placeholder, no output.
 +
 +
== InitializeApplicationInfo ==
 +
Takes a PID and an input u64 pid_placeholder, no output.
    
== IGuestLoginRequest ==
 
== IGuestLoginRequest ==
Line 497: Line 537:  
|-
 
|-
 
| 0 || GetSessionId
 
| 0 || GetSessionId
 +
|-
 +
| [1.0.0-2.3.0] 11 ||
 
|-
 
|-
 
| 12 || GetAccountId
 
| 12 || GetAccountId
Line 506: Line 548:  
| 15 || GetProfileImage
 
| 15 || GetProfileImage
 
|-
 
|-
| 21 || LoadIdTokenCache
+
| 21 || [3.0.0+] LoadIdTokenCache
 
|}
 
|}
   Line 572: Line 614:  
| 5 || GetProfile || Returns an [[#IProfile]].
 
| 5 || GetProfile || Returns an [[#IProfile]].
 
|-
 
|-
| 6 || GetProfileDigest ||
+
| 6 || [3.0.0+] GetProfileDigest ||
 
|-
 
|-
| 50 || IsUserRegistrationRequestPermitted ||
+
| 50 || [[#IsUserRegistrationRequestPermitted]] ||
 
|-
 
|-
| 51 || TrySelectUserWithoutInteraction ||
+
| 51 || [[#TrySelectUserWithoutInteraction]] ||
 
|-
 
|-
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
 
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||
Line 593: Line 635:  
|-
 
|-
 
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].
 
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].
 +
|-
 +
| 106 || [9.0.0+] GetProfileSyncNotifier ||
 
|-
 
|-
 
| 110 || StoreSaveDataThumbnail ||
 
| 110 || StoreSaveDataThumbnail ||
Line 610: Line 654:  
| 191 || [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) ||
 
| 191 || [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) ||
 
|-
 
|-
| 997 || DebugInvalidateTokenCacheForUser ||
+
| 997 || [3.0.0+] DebugInvalidateTokenCacheForUser ||
 
|-
 
|-
 
| 998 || DebugSetUserStateClose ||
 
| 998 || DebugSetUserStateClose ||
Line 662: Line 706:  
| 2 || GetDeviceAccountId ||
 
| 2 || GetDeviceAccountId ||
 
|-
 
|-
| [1.0.0-6.2.0] 50 || RegisterNotificationTokenAsync || Returns an [[#IAsyncContext]].
+
| 50 || [1.0.0-6.2.0] RegisterNotificationTokenAsync || Returns an [[#IAsyncContext]].
 
|-
 
|-
| [1.0.0-6.2.0] 51 || UnregisterNotificationTokenAsync || Returns an [[#IAsyncContext]].
+
| 51 || [1.0.0-6.2.0] UnregisterNotificationTokenAsync || Returns an [[#IAsyncContext]].
 
|}
 
|}
   Line 674: Line 718:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || ? ([5.0.0-5.1.0] ?)
+
| 0 || EnsureAuthenticationTokenCacheAsync ([5.0.0-5.1.0] GeneratePostData)
 
|-
 
|-
| 1 || [6.0.0+]
+
| 1 || [6.0.0+] LoadAuthenticationTokenCache
 
|-
 
|-
| 2 || [6.0.0+]
+
| 2 || [6.0.0+] InvalidateAuthenticationTokenCache
 
|-
 
|-
| 10 || [6.0.0+]
+
| 10 || [6.0.0+] EnsureEdgeTokenCacheAsync
 
|-
 
|-
| 11 || [6.0.0+]
+
| 11 || [6.0.0+] LoadEdgeTokenCache
 
|-
 
|-
| 12 || [6.0.0+]
+
| 12 || [6.0.0+] InvalidateEdgeTokenCache
 
|}
 
|}
   Line 696: Line 740:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||  
+
| 0 || GetResult
 
|-
 
|-
| 1 ||  
+
| 1 || Cancel
 
|-
 
|-
| 2 ||  
+
| 2 || IsAvailable
 
|-
 
|-
| 3 ||  
+
| 3 || GetSystemEvent
 
|}
 
|}
   Line 734: Line 778:  
| 0x10 || 0x8 || POSIX UTC timestamp, for last account edit.
 
| 0x10 || 0x8 || POSIX UTC timestamp, for last account edit.
 
|-
 
|-
| 0x18 || 0x20 || UTF-8 Username
+
| 0x18 || 0x20 || UTF-8 Nickname. Official sw uses strncpy to copy this into another struct (<code>nn::account::Nickname</code>), with a NUL-byte written after the copied data.
 
|-
 
|-
 
|}
 
|}

Navigation menu