Account services: Difference between revisions
 Created page with "= Account Services = == acc:u1 == {| class="wikitable" border="1" |- ! Cmd || Name || Format |- | 0 || || |- | 1 || DoesUserExist ||  |- | 2 || ||  |- | 3 || ||  |- | 4 || Get..."  | 
				No edit summary  | 
				||
| (85 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
=   | = acc:su =  | ||
This is "nn::account::IAccountServiceForAdministrator".  | |||
This was moved to [[NS_Services|ns]] with [13.0.0+].  | |||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
|-  | |-  | ||
! Cmd || Name ||   | ! Cmd || Name || Notes  | ||
|-  | |-  | ||
| 0 || ||  | | 0 || GetUserCount ||  | ||
|-  | |-  | ||
| 1 ||   | | 1 || GetUserExistence ||  | ||
|-  | |-  | ||
| 2 || ||    | | 2 || ListAllUsers ||  | ||
|-  | |-  | ||
| 3 || ||    | | 3 || ListOpenUsers ||  | ||
|-  | |-  | ||
| 4 ||   | | 4 || GetLastOpenedUser ||  | ||
|-  | |-  | ||
| 5 || ||    | | 5 || GetProfile || Returns an [[#IProfile]].  | ||
|-  | |-  | ||
|   | | 6 || [3.0.0+] GetProfileDigest ||  | ||
|-  | |-  | ||
|   | | 50 || [[#IsUserRegistrationRequestPermitted]] ||  | ||
|-  | |-  | ||
|   | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | ||
|-  | |-  | ||
|   | | 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | ||
|-  | |-  | ||
|   | | 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||  | ||
|-  | |-  | ||
|   | | 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | ||
|-  | |-  | ||
|   | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]].  | ||
|-  | |-  | ||
|   | | 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]].  | ||
|-  | |-  | ||
|   | | 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]].  | ||
|-  | |-  | ||
|   | | 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]].  | ||
|-  | |-  | ||
|   | | 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]].  | ||
|-  | |-  | ||
|   | | 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | ||
|-  | |-  | ||
|   | | 106 || [9.0.0+] GetProfileSyncNotifier ||  | ||
|-  | |-  | ||
| 998 || ||    | | 110 || StoreSaveDataThumbnail ||  | ||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 112 || LoadSaveDataThumbnail ||  | |||
|-  | |||
| 113 || [5.0.0+] GetSaveDataThumbnailExistence ||  | |||
|-  | |||
| 120 || [10.0.0+] ListOpenUsersInApplication ||  | |||
|-  | |||
| 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 140 || [6.0.0+] ListQualifiedUsers ||   | |||
|-  | |||
| 150 || [10.0.0-10.2.0] AuthenticateApplicationAsync ||   | |||
|-  | |||
| 151 || [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync ||   | |||
|-  | |||
| 152 || [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount ||  | |||
|-  | |||
| 190 || [1.0.0-9.2.0] GetUserLastOpenedApplication ||  | |||
|-  | |||
| 191 || [7.0.0-19.0.1] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) ||  | |||
|-  | |||
| 200 || BeginUserRegistration ||  | |||
|-  | |||
| 201 || CompleteUserRegistration ||  | |||
|-  | |||
| 202 || CancelUserRegistration ||  | |||
|-  | |||
| 203 || DeleteUser ||  | |||
|-  | |||
| 204 || SetUserPosition ||  | |||
|-  | |||
| 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]].  | |||
|-  | |||
| 206 || CompleteUserRegistrationForcibly ||  | |||
|-  | |||
| 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]].  | |||
|-  | |||
| 212 || [8.0.0+] ResumeProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x14-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]].  | |||
|-  | |||
| 213 || [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount ||  | |||
|-  | |||
| 214 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount ||  | |||
|-  | |||
| 215 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse ||  | |||
|-  | |||
| 230 || AuthenticateServiceAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]].  | |||
|-  | |||
| 251 || [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync ||  | |||
|-  | |||
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]] (formerly [[#IOAuthProcedureForGuestLogin]] with [1.0.0-2.3.0]).  | |||
|-  | |||
| 291 || [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].  | |||
|-  | |||
| 292 || [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser ||  | |||
|-  | |||
| 293 || [20.0.0+] ProxyProcedureForDeviceMigrationDownload ||  | |||
|-  | |||
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]].  | |||
|-  | |||
| 350 || [20.0.0+] CreateDeviceMigrationUserExportRequest ||  | |||
|-  | |||
| 351 || [20.0.0+] UploadNasCredential ||  | |||
|-  | |||
| 352 || [20.0.0+] CreateDeviceMigrationUserImportRequest ||  | |||
|-  | |||
| 353 || [20.0.0+] DeleteUserMigrationSaveData ||  | |||
|-  | |||
| 400 || [18.0.0+] SetPinCode ||  | |||
|-  | |||
| 401 || [18.0.0+] GetPinCodeLength ||  | |||
|-  | |||
| 402 || [18.0.0-19.0.1] GetPinCode ||  | |||
|-  | |||
| 403 || [20.0.0+] GetPinCodeParity ||  | |||
|-  | |||
| 404 || [20.0.0+] VerifyPinCode ||  | |||
|-  | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden ||  | |||
|-  | |||
| 410 || [18.0.0+] GetPinCodeErrorCount ||  | |||
|-  | |||
| 411 || [18.0.0-19.0.1] ResetPinCodeErrorCount ||  | |||
|-  | |||
| 412 || [18.0.0-19.0.1] IncrementPinCodeErrorCount ||  | |||
|-  | |||
| 413 || [20.0.0+] SetPinCodeErrorCount ||  | |||
|-  | |||
| 420 || [19.0.0+] SetStartPenaltyTime ||   | |||
|-  | |||
| 421 || [19.0.0+] GetStartPenaltyTime ||   | |||
|-  | |||
| 900 || [13.0.0+] SetUserUnqualifiedForDebug ||  | |||
|-  | |||
| 901 || [13.0.0+] UnsetUserUnqualifiedForDebug ||  | |||
|-  | |||
| 902 || [13.0.0+] ListUsersUnqualifiedForDebug ||  | |||
|-  | |||
| 910 || [16.0.0+] RefreshFirmwareSettingsForDebug ||  | |||
|-  | |||
| 997 || [3.0.0+] DebugInvalidateTokenCacheForUser ||  | |||
|-  | |||
| 998 || DebugSetUserStateClose ||  | |||
|-  | |||
| 999 || DebugSetUserStateOpen ||  | |||
|}  | |||
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.  | |||
== 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 ==  | |||
This is "nn::account::baas::IManagerForSystemService".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) ||  | |||
|-  | |||
| 4 || [19.0.0+] LoadIdTokenCache ||  | |||
|-  | |||
| 100 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 101 || RefreshNotificationTokenAsync ||   | |||
|-  | |||
| 110 || GetServiceEntryRequirementCacheForLogin ||  | |||
|-  | |||
| 111 || InvalidateServiceEntryRequirementCache ||  | |||
|-  | |||
| 113 || GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output.  | |||
|-  | |||
| 120 || GetNintendoAccountId ||  | |||
|-  | |||
| 121 || CalculateNintendoAccountAuthenticationFingerprint ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 133 || GetNintendoAccountVerificationUrlCache ||  | |||
|-  | |||
| 134 || RefreshNintendoAccountVerificationUrlCacheAsync ||  | |||
|-  | |||
| 135 || RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 136 || [19.0.0+] GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 140 || GetNetworkServiceLicenseCache ||   | |||
|-  | |||
| 141 || RefreshNetworkServiceLicenseCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 142 || RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache ||  | |||
|-  | |||
| 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount ||  | |||
|-  | |||
| 180 || [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication ||  | |||
|-  | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount ||  | |||
|}  | |||
== IFloatingRegistrationRequest ==  | |||
This is "nn::account::baas::IFloatingRegistrationRequest".  | |||
Added with [3.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSessionId ||  | |||
|-  | |||
| 12 || GetAccountId ||  | |||
|-  | |||
| 13 || GetLinkedNintendoAccountId ||  | |||
|-  | |||
| 14 || GetNickname ||  | |||
|-  | |||
| 15 || GetProfileImage ||  | |||
|-  | |||
| 21 || LoadIdTokenCache ||  | |||
|-  | |||
| 100 || RegisterUser ([1.0.0-3.0.2] RegisterAsync) || [1.0.0-3.0.2] Used to return an [[#IAsyncContext]].  | |||
|-  | |||
| 101 || RegisterUserWithUid ([1.0.0-3.0.2] RegisterWithUidAsync) || [1.0.0-3.0.2] Used to return an [[#IAsyncContext]].  | |||
|-  | |||
| 102 || [4.0.0+] RegisterNetworkServiceAccountAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 103 || [4.0.0+] RegisterNetworkServiceAccountWithUidAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 110 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 111 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|}  | |||
== IAdministrator ==  | |||
This is "nn::account::baas::IAdministrator".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) ||  | |||
|-  | |||
| 4 || [19.0.0+] LoadIdTokenCache ||  | |||
|-  | |||
| 100 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 101 || [7.0.0+] RefreshNotificationTokenAsync  | |||
|-  | |||
| 110 || [4.0.0+] GetServiceEntryRequirementCache ||  | |||
|-  | |||
| 111 || [4.0.0+] InvalidateServiceEntryRequirementCache ||  | |||
|-  | |||
| 112 || [4.0.0-6.2.0] InvalidateTokenCache ||  | |||
|-  | |||
| 113 || [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output.  | |||
|-  | |||
| 120 || GetNintendoAccountId ||  | |||
|-  | |||
| 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache ||  | |||
|-  | |||
| 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync ||  | |||
|-  | |||
| 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 136 || [19.0.0+] GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||  | |||
|-  | |||
| 141 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsync ||  | |||
|-  | |||
| 142 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache ||  | |||
|-  | |||
| 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount ||  | |||
|-  | |||
| 180 || [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication ||  | |||
|-  | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 200 || IsRegistered ||  | |||
|-  | |||
| 201 || RegisterAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 202 || UnregisterAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 203 || DeleteRegistrationInfoLocally ||  | |||
|-  | |||
| 204 || [19.0.0-19.0.1] UnregisterDeviceAsync ||  | |||
|-  | |||
| 220 || SynchronizeProfileAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 221 || UploadProfileAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 222 || SynchronizeProfileAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 223 || [19.0.0+] DownloadProfileAsync ||  | |||
|-  | |||
| 250 || IsLinkedWithNintendoAccount ||  | |||
|-  | |||
| 251 || CreateProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]].  | |||
|-  | |||
| 252 || ResumeProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]].  | |||
|-  | |||
| 255 || CreateProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 260 || [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 261 || [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 290 || [8.0.0+] GetRequestForNintendoAccountUserResourceView ||   | |||
|-  | |||
| 300 || [6.0.0+] TryRecoverNintendoAccountUserStateAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 400 || [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay || Takes a total of 0x8-bytes of input, returns an output u8.  | |||
|-  | |||
| 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]].  | |||
|-  | |||
| 998 || DebugSetAvailabilityErrorDetail ||  | |||
|}  | |||
== IAuthorizationRequest ==  | |||
This is "nn::account::nas::IAuthorizationRequest".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSessionId ||  | |||
|-  | |||
| 10 || InvokeWithoutInteractionAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 19 || IsAuthorized ||  | |||
|-  | |||
| 20 || GetAuthorizationCode ||  | |||
|-  | |||
| 21 || GetIdToken ||  | |||
|-  | |||
| 22 || GetState ||  | |||
|}  | |||
== IOAuthProcedure ==  | |||
This is "nn::account::http::IOAuthProcedure".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|}  | |||
== IOAuthProcedureForExternalNsa ==  | |||
This is "nn::account::nas::IOAuthProcedureForExternalNsa".  | |||
Added with [3.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|-  | |||
| 100 || GetAccountId ||  | |||
|-  | |||
| 101 || GetLinkedNintendoAccountId ||  | |||
|-  | |||
| 102 || GetNickname ||  | |||
|-  | |||
| 103 || GetProfileImage ||  | |||
|-  | |||
| 104 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] ||  | |||
|-  | |||
| 1000 || [19.0.0+] GetRequestForMoving ||  | |||
|}  | |||
=== GetProfileLargeImage ===  | |||
Takes a type-0x6 output buffer, returns an output u32.  | |||
As of 18.0.0 this is stubbed, this eventually returns Result 0x167C.  | |||
== IOAuthProcedureForNintendoAccountLinkage ==  | |||
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|-  | |||
| 100 || GetRequestWithTheme ||  | |||
|-  | |||
| 101 || IsNetworkServiceAccountReplaced ||  | |||
|-  | |||
| [2.0.0-5.1.0] 199 || GetUrlForIntroductionOfExtraMembership ||  | |||
|}  | |||
== INotifier ==  | |||
This is "nn::account::detail::INotifier".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSystemEvent  | |||
|}  | |||
== IProfile ==  | |||
This is "nn::account::profile::IProfile".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || [[#Get]]  | |||
|-  | |||
| 1 || [[#GetBase]]  | |||
|-  | |||
| 10 || [[#GetImageSize]]  | |||
|-  | |||
| 11 || [[#LoadImage]]  | |||
|}  | |||
=== Get ===  | |||
Takes an output type-0x1A buffer for [[#UserData]], returns an output [[#ProfileBase]].  | |||
=== GetBase ===  | |||
No input, returns an output [[#ProfileBase]].  | |||
=== GetImageSize ===  | |||
No input, returns an output u32 for the size of the image buffer.  | |||
=== LoadImage ===   | |||
Takes an output type-0x6 buffer, returns the same output u32 as [[#GetImageSize]].  | |||
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.  | |||
== IProfileEditor ==  | |||
This is "nn::account::profile::IProfileEditor".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || [[#Get]]  | |||
|-  | |||
| 1 || [[#GetBase]]  | |||
|-  | |||
| 10 || [[#GetImageSize]]  | |||
|-  | |||
| 11 || [[#LoadImage]]  | |||
|-  | |||
| 100 || [[#Store]]  | |||
|-  | |||
| 101 || [[#StoreWithImage]]  | |||
|}  | |||
=== Store ===  | |||
Takes a [[#ProfileBase]] and an input type-0x19 buffer for [[#UserData]].  | |||
=== StoreWithImage ===  | |||
Takes a [[#ProfileBase]], an input type-0x19 buffer for [[#UserData]], and an input type-0x5 buffer.  | |||
== IAsyncContext ==  | |||
This is "nn::account::detail::IAsyncContext".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSystemEvent  | |||
|-  | |||
| 1 || Cancel  | |||
|-  | |||
| 2 || HasDone  | |||
|-  | |||
| 3 || GetResult  | |||
|}  | |||
== ISessionObject ==  | |||
This is "nn::account::detail::ISessionObject".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 999 || Dummy  | |||
|}  | |||
= acc:u0 =  | |||
This is "nn::account::IAccountServiceForApplication".  | |||
This was moved to [[NS_Services|ns]] with [13.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Takes an input userID, returns an [[#IProfile]].  | |||
|-  | |||
| 6 || [3.0.0+] GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | |||
|-  | |||
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||  | |||
|-  | |||
| 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || [[#InitializeApplicationInfoV0]] ||  | |||
|-  | |||
| 101 || GetBaasAccountManagerForApplication || Takes an input userID, returns an [[#IManagerForApplication]].  | |||
|-  | |||
| 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 103 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 120 || CreateGuestLoginRequest || Returns an [[#IGuestLoginRequest]].  | |||
|-  | |||
| 130 || [5.0.0+] LoadOpenContext ||  | |||
|-  | |||
| 131 || [6.0.0+] ListOpenContextStoredUsers ||   | |||
|-  | |||
| 140 || [6.0.0+] [[#InitializeApplicationInfo]] ||   | |||
|-  | |||
| 141 || [6.0.0+] ListQualifiedUsers ||   | |||
|-  | |||
| 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 ==  | |||
This is "nn::account::baas::IGuestLoginRequest".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSessionId  | |||
|-  | |||
| [1.0.0-2.3.0] 11 ||   | |||
|-  | |||
| 12 || GetAccountId  | |||
|-  | |||
| 13 || GetLinkedNintendoAccountId  | |||
|-  | |||
| 14 || GetNickname  | |||
|-  | |||
| 15 || GetProfileImage  | |||
|-  | |||
| 21 || [3.0.0+] LoadIdTokenCache  | |||
|}  | |||
== IManagerForApplication ==  | |||
This is "nn::account::baas::IManagerForApplication".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) ||  | |||
|-  | |||
| 4 || [19.0.0+] LoadIdTokenCache ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCacheForApplication ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || [5.0.0+] StoreOpenContext ||  | |||
|-  | |||
| 170 || [6.0.0+] LoadNetworkServiceLicenseKindAsync || No input, returns an [[#IAsyncNetworkServiceLicenseKindContext]].  | |||
|}  | |||
== IAsyncNetworkServiceLicenseKindContext ==  | |||
This is "nn::account::detail::IAsyncNetworkServiceLicenseKindContext".  | |||
This was added with [6.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSystemEvent ||   | |||
|-  | |||
| 1 || Cancel ||   | |||
|-  | |||
| 2 || HasDone ||   | |||
|-  | |||
| 3 || GetResult ||   | |||
|-  | |||
| 100 || GetNetworkServiceLicenseKind ||   | |||
|}  | |||
= acc:u1 =  | |||
This is "nn::account::IAccountServiceForSystemService".  | |||
This was moved to [[NS_Services|ns]] with [13.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Returns an [[#IProfile]].  | |||
|-  | |||
| 6 || [3.0.0+] GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | |||
|-  | |||
| 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers ||  | |||
|-  | |||
| 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]].  | |||
|-  | |||
| 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 106 || [9.0.0+] GetProfileSyncNotifier ||  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 112 || LoadSaveDataThumbnail ||  | |||
|-  | |||
| 113 || [5.0.0+] GetSaveDataThumbnailExistence ||  | |||
|-  | |||
| 120 || [10.0.0+] ListOpenUsersInApplication ||  | |||
|-  | |||
| 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 140 || [6.0.0+] ListQualifiedUsers ||   | |||
|-  | |||
| 150 || [10.0.0-10.2.0] AuthenticateApplicationAsync ||  | |||
|-  | |||
| 151 || [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync ||   | |||
|-  | |||
| 152 || [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount ||  | |||
|-  | |||
| 190 || [1.0.0-9.2.0] GetUserLastOpenedApplication ||  | |||
|-  | |||
| 191 || [7.0.0-19.0.1] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) ||  | |||
|-  | |||
| 401 || [18.0.0+] GetPinCodeLength ||  | |||
|-  | |||
| 402 || [18.0.0-19.0.1] GetPinCode ||  | |||
|-  | |||
| 403 || [20.0.0+] GetPinCodeParity ||  | |||
|-  | |||
| 404 || [20.0.0+] VerifyPinCode ||  | |||
|-  | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden ||  | |||
|-  | |||
| 997 || [3.0.0+] DebugInvalidateTokenCacheForUser ||  | |||
|-  | |||
| 998 || DebugSetUserStateClose ||  | |||
|-  | |||
| 999 || DebugSetUserStateOpen ||  | |||
|}  | |||
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.   | |||
== IOAuthProcedureForUserRegistration ==  | |||
This is "nn::account::nas::IOAuthProcedureForUserRegistration".  | |||
This was added with [8.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || No input, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||   | |||
|-  | |||
| 2 || ApplyResponse ||   | |||
|-  | |||
| 3 || ApplyResponseAsync || Takes a type-0x9 input buffer, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||   | |||
|-  | |||
| 100 || GetAccountId ||   | |||
|-  | |||
| 101 || GetLinkedNintendoAccountId ||   | |||
|-  | |||
| 102 || GetNickname ||   | |||
|-  | |||
| 103 || GetProfileImage ||   | |||
|-  | |||
| 104 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] ||   | |||
|-  | |||
| 110 || RegisterUserAsync || No input, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 111 || GetUid ||   | |||
|-  | |||
| 200 || [17.0.0+] ApplyResponseForUserCreationAsync ||   | |||
|-  | |||
| 205 || [17.0.0+] SuspendAfterApplyResponse ||   | |||
|-  | |||
| 210 || [17.0.0+] IsProfileAvailable ||   | |||
|-  | |||
| 220 || [17.0.0+] RegisterUserAsyncWithoutProfile ||   | |||
|-  | |||
| 221 || [17.0.0+] RegisterUserWithProfileAsync ||   | |||
|-  | |||
| 230 || [18.0.0+] RegisterUserWithLargeImageProfileAsync ||   | |||
|}  | |||
= acc:aa =  | |||
This is "nn::account::IBaasAccessTokenAccessor".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || EnsureCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || LoadCache ||  | |||
|-  | |||
| 2 || GetDeviceAccountId ||  | |||
|-  | |||
| 50 || [1.0.0-6.2.0] RegisterNotificationTokenAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 51 || [1.0.0-6.2.0] UnregisterNotificationTokenAsync || Returns an [[#IAsyncContext]].  | |||
|}  | |||
= dauth:0 =  | |||
This is "nn::dauth::detail::IService".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || EnsureAuthenticationTokenCacheAsync ([5.0.0-5.1.0] GeneratePostData)  | |||
|-  | |||
| 1 || [6.0.0+] LoadAuthenticationTokenCache  | |||
|-  | |||
| 2 || [6.0.0+] InvalidateAuthenticationTokenCache  | |||
|-  | |||
| 3 || [16.0.0+] IsDeviceAuthenticationTokenCacheAvailable  | |||
|-  | |||
| 10 || [6.0.0+] EnsureEdgeTokenCacheAsync  | |||
|-  | |||
| 11 || [6.0.0+] LoadEdgeTokenCache  | |||
|-  | |||
| 12 || [6.0.0+] InvalidateEdgeTokenCache  | |||
|-  | |||
| 13 || [16.0.0+] IsEdgeTokenCacheAvailable  | |||
|-  | |||
| 20 || [11.0.0+] EnsureApplicationAuthenticationCacheAsync  | |||
|-  | |||
| 21 || [11.0.0+] LoadApplicationAuthenticationTokenCache  | |||
|-  | |||
| 22 || [11.0.0+] LoadApplicationNetworkServiceClientConfigCache  | |||
|-  | |||
| 23 || [11.0.0+] IsApplicationAuthenticationCacheAvailable  | |||
|-  | |||
| 24 || [11.0.0+] InvalidateApplicationAuthenticationCache  | |||
|-  | |||
| 1000 || [15.0.0+] GetInactiveElicenseUsedEvent  | |||
|-  | |||
| 9000 || [15.0.0+] ImportVirtualClientCertificate  | |||
|-  | |||
| 9010 || [15.0.0+] DeleteVirtualClientCertificate  | |||
|}  | |||
[10.0.0+] EnsureEdgeTokenCacheAsync now takes an additional 8-bytes of input.  | |||
== IAsyncResult ==  | |||
This is "nn::dauth::detail::IAsyncResult".  | |||
This was added with [6.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetResult  | |||
|-  | |||
| 1 || Cancel  | |||
|-  | |||
| 2 || IsAvailable  | |||
|-  | |||
| 3 || GetSystemEvent  | |||
|}  | |||
= acc:e =  | |||
This is "nn::account::IAccountEntityServiceForAccountPolicy".  | |||
This was added with [13.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Returns an [[#IProfile]].  | |||
|-  | |||
| 6 || GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | |||
|-  | |||
| 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]].  | |||
|-  | |||
| 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 106 || GetProfileSyncNotifier ||  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 112 || LoadSaveDataThumbnail ||  | |||
|-  | |||
| 113 || GetSaveDataThumbnailExistence ||  | |||
|-  | |||
| 120 || ListOpenUsersInApplication ||  | |||
|-  | |||
| 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 140 || ListQualifiedUsers ||   | |||
|-  | |||
| 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync ||   | |||
|-  | |||
| 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount ||  | |||
|-  | |||
| 170 || GetNasOp2MembershipStateChangeNotifier ||  | |||
|-  | |||
| 191 || [13.0.0-19.0.1] UpdateNotificationReceiverInfo ||  | |||
|-  | |||
| 200 || BeginUserRegistration ||  | |||
|-  | |||
| 201 || CompleteUserRegistration ||  | |||
|-  | |||
| 202 || CancelUserRegistration ||  | |||
|-  | |||
| 203 || DeleteUser ||  | |||
|-  | |||
| 204 || SetUserPosition ||  | |||
|-  | |||
| 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]].  | |||
|-  | |||
| 206 || CompleteUserRegistrationForcibly ||  | |||
|-  | |||
| 210 || CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]].  | |||
|-  | |||
| 211 || CreateProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x4-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]].  | |||
|-  | |||
| 212 || ResumeProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x14-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]].  | |||
|-  | |||
| 213 || [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount ||  | |||
|-  | |||
| 214 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount ||  | |||
|-  | |||
| 215 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse ||  | |||
|-  | |||
| 230 || AuthenticateServiceAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]].  | |||
|-  | |||
| 251 || [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync ||  | |||
|-  | |||
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].  | |||
|-  | |||
| 291 || ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]].  | |||
|-  | |||
| 292 || [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser ||  | |||
|-  | |||
| 293 || [20.0.0+] ProxyProcedureForDeviceMigrationDownload ||  | |||
|-  | |||
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]].  | |||
|-  | |||
| 350 || [20.0.0+] CreateDeviceMigrationUserExportRequest ||  | |||
|-  | |||
| 351 || [20.0.0+] UploadNasCredential ||  | |||
|-  | |||
| 352 || [20.0.0+] CreateDeviceMigrationUserImportRequest ||  | |||
|-  | |||
| 353 || [20.0.0+] DeleteUserMigrationSaveData ||  | |||
|-  | |||
| 400 || [18.0.0+] SetPinCode ||  | |||
|-  | |||
| 401 || [18.0.0+] GetPinCodeLength ||  | |||
|-  | |||
| 402 || [18.0.0-19.0.1] GetPinCode ||  | |||
|-  | |||
| 403 || [20.0.0+] GetPinCodeParity ||  | |||
|-  | |||
| 404 || [20.0.0+] VerifyPinCode ||  | |||
|-  | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden ||  | |||
|-  | |||
| 410 || [18.0.0+] GetPinCodeErrorCount ||  | |||
|-  | |||
| 411 || [18.0.0-19.0.1] ResetPinCodeErrorCount ||  | |||
|-  | |||
| 412 || [18.0.0-19.0.1] IncrementPinCodeErrorCount ||  | |||
|-  | |||
| 413 || [20.0.0+] SetPinCodeErrorCount ||  | |||
|-  | |||
| 420 || [19.0.0+] SetStartPenaltyTime ||   | |||
|-  | |||
| 421 || [19.0.0+] GetStartPenaltyTime ||   | |||
|-  | |||
| 900 || SetUserUnqualifiedForDebug ||  | |||
|-  | |||
| 901 || UnsetUserUnqualifiedForDebug ||  | |||
|-  | |||
| 902 || ListUsersUnqualifiedForDebug ||  | |||
|-  | |||
| 910 || [16.0.0+] RefreshFirmwareSettingsForDebug ||  | |||
|-  | |||
| 997 || DebugInvalidateTokenCacheForUser ||  | |||
|-  | |||
| 998 || DebugSetUserStateClose ||  | |||
|-  | |||
| 999 || DebugSetUserStateOpen ||  | |||
|-  | |||
| 1000 || CreateIAccountEntityServiceForApplication || Returns an [[#IAccountEntityServiceForApplication]].  | |||
|-  | |||
| 1100 || CreateIUserStateManager || Returns an [[#IUserStateManager]].   | |||
|-  | |||
| 10050 || IsUserRegistrationRequestPermittedForAccountPolicy ||   | |||
|-  | |||
| 10105 || CheckNetworkServiceAvailabilityAsyncForAccountPolicy ||   | |||
|}  | |||
== IProfile ==  | |||
This is "nn::account::profile::IProfile".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || [[#Get]]  | |||
|-  | |||
| 1 || [[#GetBase]]  | |||
|-  | |||
| 10 || [[#GetImageSize]]  | |||
|-  | |||
| 11 || [[#LoadImage]]  | |||
|-  | |||
| 20 || [18.0.0+] GetLargeImageSize  | |||
|-  | |||
| 21 || [18.0.0+] LoadLargeImage  | |||
|-  | |||
| 30 || [18.0.0+] GetImageId  | |||
|-  | |||
| 40 || [19.0.0+] GetStableUserId  | |||
|}  | |||
=== Get ===  | |||
Takes an output type-0x1A buffer for [[#UserData]], returns an output [[#ProfileBase]].  | |||
=== GetBase ===  | |||
No input, returns an output [[#ProfileBase]].  | |||
=== GetImageSize ===  | |||
No input, returns an output u32 for the size of the image buffer.  | |||
=== LoadImage ===   | |||
Takes an output type-0x6 buffer, returns the same output u32 as [[#GetImageSize]].  | |||
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.  | |||
== IProfileEditor ==  | |||
This is "nn::account::profile::IProfileEditor".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || [[#Get]]  | |||
|-  | |||
| 1 || [[#GetBase]]  | |||
|-  | |||
| 10 || [[#GetImageSize]]  | |||
|-  | |||
| 11 || [[#LoadImage]]  | |||
|-  | |||
| 20 || [18.0.0+] GetLargeImageSize  | |||
|-  | |||
| 21 || [18.0.0+] LoadLargeImage  | |||
|-  | |||
| 30 || [18.0.0+] GetImageId  | |||
|-  | |||
| 40 || [19.0.0+] GetStableUserId  | |||
|-  | |||
| 100 || [[#Store]]  | |||
|-  | |||
| 101 || [[#StoreWithImage]]  | |||
|-  | |||
| 110 || [18.0.0+] StoreWithLargeImage  | |||
|}  | |||
=== Store ===  | |||
Takes a [[#ProfileBase]] and an input type-0x19 buffer for [[#UserData]].  | |||
=== StoreWithImage ===  | |||
Takes a [[#ProfileBase]], an input type-0x19 buffer for [[#UserData]], and an input type-0x5 buffer.  | |||
== IAsyncContext ==  | |||
This is "nn::account::detail::IAsyncContext".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSystemEvent  | |||
|-  | |||
| 1 || Cancel  | |||
|-  | |||
| 2 || HasDone  | |||
|-  | |||
| 3 || GetResult  | |||
|}  | |||
== ISessionObject ==  | |||
This is "nn::account::detail::ISessionObject".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 999 || Dummy  | |||
|}  | |||
== INotifier ==  | |||
This is "nn::account::detail::INotifier".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSystemEvent  | |||
|}  | |||
== IManagerForSystemService ==  | |||
This is "nn::account::baas::IManagerForSystemService".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) ||  | |||
|-  | |||
| 4 || [19.0.0+] LoadIdTokenCache ||  | |||
|-  | |||
| 100 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 101 || RefreshNotificationTokenAsync ||   | |||
|-  | |||
| 110 || GetServiceEntryRequirementCacheForLogin ||  | |||
|-  | |||
| 111 || InvalidateServiceEntryRequirementCache ||  | |||
|-  | |||
| 113 || GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output.  | |||
|-  | |||
| 120 || GetNintendoAccountId ||  | |||
|-  | |||
| 121 || CalculateNintendoAccountAuthenticationFingerprint ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 133 || GetNintendoAccountVerificationUrlCache ||  | |||
|-  | |||
| 134 || RefreshNintendoAccountVerificationUrlCacheAsync ||  | |||
|-  | |||
| 135 || RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 136 || [19.0.0+] GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 140 || GetNetworkServiceLicenseCache ||   | |||
|-  | |||
| 141 || RefreshNetworkServiceLicenseCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 142 || RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache ||  | |||
|-  | |||
| 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount ||  | |||
|-  | |||
| 180 || [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication ||  | |||
|-  | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount ||  | |||
|}  | |||
== IFloatingRegistrationRequest ==  | |||
This is "nn::account::baas::IFloatingRegistrationRequest".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSessionId ||  | |||
|-  | |||
| 12 || GetAccountId ||  | |||
|-  | |||
| 13 || GetLinkedNintendoAccountId ||  | |||
|-  | |||
| 14 || GetNickname ||  | |||
|-  | |||
| 15 || GetProfileImage ||  | |||
|-  | |||
| 16 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] ||  | |||
|-  | |||
| 21 || LoadIdTokenCache ||  | |||
|-  | |||
| 100 || RegisterUser ||   | |||
|-  | |||
| 101 || RegisterUserWithUid ||   | |||
|-  | |||
| 102 || RegisterNetworkServiceAccountAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 103 || RegisterNetworkServiceAccountWithUidAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 110 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 111 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|}  | |||
== IAdministrator ==  | |||
This is "nn::account::baas::IAdministrator".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) ||  | |||
|-  | |||
| 4 || [19.0.0+] LoadIdTokenCache ||  | |||
|-  | |||
| 100 || SetSystemProgramIdentification ||  | |||
|-  | |||
| 101 || [7.0.0+] RefreshNotificationTokenAsync  | |||
|-  | |||
| 110 || [4.0.0+] GetServiceEntryRequirementCache ||  | |||
|-  | |||
| 111 || [4.0.0+] InvalidateServiceEntryRequirementCache ||  | |||
|-  | |||
| 112 || [4.0.0-6.2.0] InvalidateTokenCache ||  | |||
|-  | |||
| 113 || [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output.  | |||
|-  | |||
| 120 || GetNintendoAccountId ||  | |||
|-  | |||
| 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache ||  | |||
|-  | |||
| 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync ||  | |||
|-  | |||
| 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 136 || [19.0.0+] GetNintendoAccountUserResourceCache ||  | |||
|-  | |||
| 140 || [5.0.0+] GetNetworkServiceLicenseCache ||  | |||
|-  | |||
| 141 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsync ||  | |||
|-  | |||
| 142 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed ||  | |||
|-  | |||
| 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache ||  | |||
|-  | |||
| 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount ||  | |||
|-  | |||
| 180 || [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication ||  | |||
|-  | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount ||  | |||
|-  | |||
| 200 || IsRegistered ||  | |||
|-  | |||
| 201 || RegisterAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 202 || UnregisterAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 203 || DeleteRegistrationInfoLocally ||  | |||
|-  | |||
| 204 || [19.0.0-19.0.1] UnregisterDeviceAsync ||  | |||
|-  | |||
| 220 || SynchronizeProfileAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 221 || UploadProfileAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 222 || SynchronizeProfileAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 223 || [19.0.0+] DownloadProfileAsync ||  | |||
|-  | |||
| 250 || IsLinkedWithNintendoAccount ||  | |||
|-  | |||
| 251 || CreateProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]].  | |||
|-  | |||
| 252 || ResumeProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]].  | |||
|-  | |||
| 255 || CreateProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 260 || [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 261 || [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]].  | |||
|-  | |||
| 290 || [8.0.0+] GetRequestForNintendoAccountUserResourceView ||   | |||
|-  | |||
| 300 || [6.0.0+] TryRecoverNintendoAccountUserStateAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 400 || [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay || Takes a total of 0x8-bytes of input, returns an output u8.  | |||
|-  | |||
| 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]].  | |||
|-  | |||
| 998 || DebugSetAvailabilityErrorDetail ||  | |||
|}  | |||
== IAuthorizationRequest ==  | |||
This is "nn::account::nas::IAuthorizationRequest".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSessionId ||  | |||
|-  | |||
| 10 || InvokeWithoutInteractionAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 19 || IsAuthorized ||  | |||
|-  | |||
| 20 || GetAuthorizationCode ||  | |||
|-  | |||
| 21 || GetIdToken ||  | |||
|-  | |||
| 22 || GetState ||  | |||
|}  | |||
== IOAuthProcedure ==  | |||
This is "nn::account::http::IOAuthProcedure".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|}  | |||
== IOAuthProcedureForExternalNsa ==  | |||
This is "nn::account::nas::IOAuthProcedureForExternalNsa".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|-  | |||
| 100 || GetAccountId ||  | |||
|-  | |||
| 101 || GetLinkedNintendoAccountId ||  | |||
|-  | |||
| 102 || GetNickname ||  | |||
|-  | |||
| 103 || GetProfileImage ||  | |||
|}  | |||
== IOAuthProcedureForNintendoAccountLinkage ==  | |||
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||  | |||
|-  | |||
| 2 || ApplyResponse ||  | |||
|-  | |||
| 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||  | |||
|-  | |||
| 100 || GetRequestWithTheme ||  | |||
|-  | |||
| 101 || IsNetworkServiceAccountReplaced ||  | |||
|-  | |||
| 200 || [16.0.0+] ApplyAsyncWithAuthorizedToken ||  | |||
|}  | |||
== IOAuthProcedureForUserRegistration ==  | |||
This is "nn::account::nas::IOAuthProcedureForUserRegistration".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || PrepareAsync || No input, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 1 || GetRequest ||   | |||
|-  | |||
| 2 || ApplyResponse ||   | |||
|-  | |||
| 3 || ApplyResponseAsync || Takes a type-0x9 input buffer, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 10 || Suspend ||   | |||
|-  | |||
| 100 || GetAccountId ||   | |||
|-  | |||
| 101 || GetLinkedNintendoAccountId ||   | |||
|-  | |||
| 102 || GetNickname ||   | |||
|-  | |||
| 103 || GetProfileImage ||   | |||
|-  | |||
| 110 || RegisterUserAsync || No input, returns an [[#IAsyncContext]].  | |||
|-  | |||
| 111 || GetUid ||   | |||
|}  | |||
== IAccountEntityServiceForApplication ==  | |||
This is "nn::account::IAccountEntityServiceForApplication".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Takes an input userID, returns an [[#IProfile]].  | |||
|-  | |||
| 6 || GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | |||
|-  | |||
| 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || [[#InitializeApplicationInfoV0]] ||  | |||
|-  | |||
| 101 || GetBaasAccountManagerForApplication || Takes an input userID, returns an [[#IManagerForApplication]].  | |||
|-  | |||
| 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 103 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 120 || CreateGuestLoginRequest || Returns an [[#IGuestLoginRequest]].  | |||
|-  | |||
| 130 || LoadOpenContext ||  | |||
|-  | |||
| 131 || ListOpenContextStoredUsers ||   | |||
|-  | |||
| 140 || [[#InitializeApplicationInfoV1]] ||   | |||
|-  | |||
| 141 || ListQualifiedUsers ||   | |||
|-  | |||
| 150 || IsUserAccountSwitchLocked ||   | |||
|-  | |||
| 160 || InitializeApplicationInfoV2 ||   | |||
|-  | |||
| 10050 || IsUserRegistrationRequestPermittedForAccountPolicy ||   | |||
|-  | |||
| 10100 || InitializeApplicationInfoV0ForAccountPolicy ||   | |||
|-  | |||
| 10140 || InitializeApplicationInfoV1ForAccountPolicy ||   | |||
|-  | |||
| 10160 || InitializeApplicationInfoV2ForAccountPolicy ||   | |||
|}  | |||
InitializeApplicationInfo* is used by the user-process during service init.  | |||
=== 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.  | |||
=== InitializeApplicationInfoV0 ===  | |||
Takes a PID and an input u64 pid_placeholder, no output.  | |||
=== InitializeApplicationInfoV1 ===  | |||
Takes a PID and an input u64 pid_placeholder, no output.  | |||
=== IGuestLoginRequest ===  | |||
This is "nn::account::baas::IGuestLoginRequest".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 0 || GetSessionId  | |||
|-  | |||
| 12 || GetAccountId  | |||
|-  | |||
| 13 || GetLinkedNintendoAccountId  | |||
|-  | |||
| 14 || GetNickname  | |||
|-  | |||
| 15 || GetProfileImage  | |||
|-  | |||
| 16 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]]  | |||
|-  | |||
| 21 || LoadIdTokenCache  | |||
|}  | |||
=== IManagerForApplication ===  | |||
This is "nn::account::baas::IManagerForApplication".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || CheckAvailability ||  | |||
|-  | |||
| 1 || GetAccountId ||  | |||
|-  | |||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 3 || LoadIdTokenCache ||  | |||
|-  | |||
| 130 || GetNintendoAccountUserResourceCacheForApplication ||  | |||
|-  | |||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]].  | |||
|-  | |||
| 160 || StoreOpenContext ||  | |||
|-  | |||
| 170 || EnsureIdTokenCacheForOnlinePlayAsync || No input, returns an [[#IAsyncContextForLoginForOnlinePlay]].  | |||
|}  | |||
==== IAsyncContextForLoginForOnlinePlay ====  | |||
This is "nn::account::baas::IAsyncContextForLoginForOnlinePlay".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetSystemEvent ||   | |||
|-  | |||
| 1 || Cancel ||   | |||
|-  | |||
| 2 || HasDone ||   | |||
|-  | |||
| 3 || GetResult ||   | |||
|-  | |||
| 100 || GetNetworkServiceLicenseInfoForOnlinePlay ||   | |||
|}  | |||
== IUserStateManager ==  | |||
This is "nn::account::detail::IUserStateManager".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name  | |||
|-  | |||
| 100 || EnableQualificationLimitation  | |||
|-  | |||
| 101 || DisableQualificationLimitation  | |||
|-  | |||
| 110 || SelectQualifiedUsers  | |||
|-  | |||
| 900 || [14.0.0+] SetUserUnqualifiedForDebug  | |||
|-  | |||
| 901 || [14.0.0+] UnsetUserUnqualifiedForDebug  | |||
|-  | |||
| 902 || [14.0.0+] ListUsersUnqualifiedForDebug  | |||
|}  | |||
= acc:e:u1 =  | |||
This is "nn::account::IAccountServiceForSystemService".  | |||
This was added with [13.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Returns an [[#IProfile]].  | |||
|-  | |||
| 6 || GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]].  | |||
|-  | |||
| 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 106 || GetProfileSyncNotifier ||  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 112 || LoadSaveDataThumbnail ||  | |||
|-  | |||
| 113 || GetSaveDataThumbnailExistence ||  | |||
|-  | |||
| 120 || ListOpenUsersInApplication ||  | |||
|-  | |||
| 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 140 || ListQualifiedUsers ||   | |||
|-  | |||
| 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync ||   | |||
|-  | |||
| 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount ||  | |||
|-  | |||
| 170 || GetNasOp2MembershipStateChangeNotifier ||  | |||
|-  | |||
| 191 || UpdateNotificationReceiverInfo ||  | |||
|-  | |||
| 997 || DebugInvalidateTokenCacheForUser ||  | |||
|-  | |||
| 998 || DebugSetUserStateClose ||  | |||
|-  | |||
| 999 || DebugSetUserStateOpen ||  | |||
|}  | |||
= acc:e:u2 =  | |||
This is "nn::account::IAccountServiceForSystemServiceWithProfileEditor".  | |||
This was added with [13.0.0+].  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Cmd || Name || Notes  | |||
|-  | |||
| 0 || GetUserCount ||  | |||
|-  | |||
| 1 || GetUserExistence ||  | |||
|-  | |||
| 2 || ListAllUsers ||  | |||
|-  | |||
| 3 || ListOpenUsers ||  | |||
|-  | |||
| 4 || GetLastOpenedUser ||  | |||
|-  | |||
| 5 || GetProfile || Returns an [[#IProfile]].  | |||
|-  | |||
| 6 || GetProfileDigest ||  | |||
|-  | |||
| 50 || [[#IsUserRegistrationRequestPermitted]] ||  | |||
|-  | |||
| 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) ||  | |||
|-  | |||
| 52 || [19.0.0+] TrySelectUserWithoutInteraction ||  | |||
|-  | |||
| 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]].  | |||
|-  | |||
| 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]].  | |||
|-  | |||
| 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]].  | |||
|-  | |||
| 106 || GetProfileSyncNotifier ||  | |||
|-  | |||
| 110 || StoreSaveDataThumbnail ||  | |||
|-  | |||
| 111 || ClearSaveDataThumbnail ||  | |||
|-  | |||
| 112 || LoadSaveDataThumbnail ||  | |||
|-  | |||
| 113 || GetSaveDataThumbnailExistence ||  | |||
|-  | |||
| 120 || ListOpenUsersInApplication ||  | |||
|-  | |||
| 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]].  | |||
|-  | |||
| 140 || ListQualifiedUsers ||   | |||
|-  | |||
| 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync ||   | |||
|-  | |||
| 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount ||  | |||
|-  | |||
| 170 || GetNasOp2MembershipStateChangeNotifier ||  | |||
|-  | |||
| 191 || [13.0.0-19.0.1] UpdateNotificationReceiverInfo ||  | |||
|-  | |||
| 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]].  | |||
|-  | |||
| 401 || [18.0.0+] GetPinCodeLength ||  | |||
|-  | |||
| 402 || [18.0.0-19.0.1] GetPinCode ||  | |||
|-  | |||
| 403 || [20.0.0+] GetPinCodeParity ||  | |||
|-  | |||
| 404 || [20.0.0+] VerifyPinCode ||  | |||
|-  | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden ||  | |||
|-  | |||
| 997 || DebugInvalidateTokenCacheForUser ||  | |||
|-  | |||
| 998 || DebugSetUserStateClose ||  | |||
|-  | |||
| 999 || DebugSetUserStateOpen ||  | |||
|}  | |||
= UserData =  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4? || ?  | |||
|-  | |||
| 0x4 || 0x4? || Icon ID. 0 = Mii, the rest are character icon IDs.  | |||
|-  | |||
| 0x8 || 0x1? || Profile icon background color ID  | |||
|-  | |||
| 0x9 || 0x7 || ?  | |||
|-  | |||
| 0x10 || 0x10 || Some ID related to the Mii? All zeros when a character icon is used.  | |||
|-  | |||
| 0x20 || 0x60 || Usually zeros?  | |||
|}  | |||
This is a 0x80-byte struct.  | |||
= ProfileBase =  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x10 || userID  | |||
|-  | |||
| 0x10 || 0x8 || POSIX UTC timestamp, for last account edit.  | |||
|-  | |||
| 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.  | |||
|-  | |-  | ||
|}  | |}  | ||
This is a 0x38-byte struct.  | |||
= Uid =  | |||
This is "nn::account::Uid". This is a 0x10-byte struct. This contains 2 u64s for the UserId.  | |||
[[Category:Services]]  | |||
Latest revision as of 22:23, 30 April 2025
acc:su
This is "nn::account::IAccountServiceForAdministrator".
This was moved to ns with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Returns an #IProfile. | 
| 6 | [3.0.0+] GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
| 99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | GetUserRegistrationNotifier | Returns an #INotifier. | 
| 101 | GetUserStateChangeNotifier | Returns an #INotifier. | 
| 102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. | 
| 103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. | 
| 104 | GetProfileUpdateNotifier | Returns an #INotifier. | 
| 105 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 106 | [9.0.0+] GetProfileSyncNotifier | |
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 112 | LoadSaveDataThumbnail | |
| 113 | [5.0.0+] GetSaveDataThumbnailExistence | |
| 120 | [10.0.0+] ListOpenUsersInApplication | |
| 130 | [6.0.0+] ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. | 
| 140 | [6.0.0+] ListQualifiedUsers | |
| 150 | [10.0.0-10.2.0] AuthenticateApplicationAsync | |
| 151 | [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
| 152 | [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount | |
| 190 | [1.0.0-9.2.0] GetUserLastOpenedApplication | |
| 191 | [7.0.0-19.0.1] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) | |
| 200 | BeginUserRegistration | |
| 201 | CompleteUserRegistration | |
| 202 | CancelUserRegistration | |
| 203 | DeleteUser | |
| 204 | SetUserPosition | |
| 205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. | 
| 206 | CompleteUserRegistrationForcibly | |
| 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. | 
| 212 | [8.0.0+] ResumeProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x14-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. | 
| 213 | [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount | |
| 214 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount | |
| 215 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse | |
| 230 | AuthenticateServiceAsync | Returns an #IAsyncContext. | 
| 250 | GetBaasAccountAdministrator | Returns an #IAdministrator. | 
| 251 | [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync | |
| 290 | ProxyProcedureForGuestLoginWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa (formerly #IOAuthProcedureForGuestLogin with [1.0.0-2.3.0]). | 
| 291 | [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. | 
| 292 | [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser | |
| 293 | [20.0.0+] ProxyProcedureForDeviceMigrationDownload | |
| 299 | SuspendBackgroundDaemon | Returns an #ISessionObject. | 
| 350 | [20.0.0+] CreateDeviceMigrationUserExportRequest | |
| 351 | [20.0.0+] UploadNasCredential | |
| 352 | [20.0.0+] CreateDeviceMigrationUserImportRequest | |
| 353 | [20.0.0+] DeleteUserMigrationSaveData | |
| 400 | [18.0.0+] SetPinCode | |
| 401 | [18.0.0+] GetPinCodeLength | |
| 402 | [18.0.0-19.0.1] GetPinCode | |
| 403 | [20.0.0+] GetPinCodeParity | |
| 404 | [20.0.0+] VerifyPinCode | |
| 405 | [20.0.0+] IsPinCodeVerificationForbidden | |
| 410 | [18.0.0+] GetPinCodeErrorCount | |
| 411 | [18.0.0-19.0.1] ResetPinCodeErrorCount | |
| 412 | [18.0.0-19.0.1] IncrementPinCodeErrorCount | |
| 413 | [20.0.0+] SetPinCodeErrorCount | |
| 420 | [19.0.0+] SetStartPenaltyTime | |
| 421 | [19.0.0+] GetStartPenaltyTime | |
| 900 | [13.0.0+] SetUserUnqualifiedForDebug | |
| 901 | [13.0.0+] UnsetUserUnqualifiedForDebug | |
| 902 | [13.0.0+] ListUsersUnqualifiedForDebug | |
| 910 | [16.0.0+] RefreshFirmwareSettingsForDebug | |
| 997 | [3.0.0+] DebugInvalidateTokenCacheForUser | |
| 998 | DebugSetUserStateClose | |
| 999 | DebugSetUserStateOpen | 
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.
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
This is "nn::account::baas::IManagerForSystemService".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
| 4 | [19.0.0+] LoadIdTokenCache | |
| 100 | SetSystemProgramIdentification | |
| 101 | RefreshNotificationTokenAsync | |
| 110 | GetServiceEntryRequirementCacheForLogin | |
| 111 | InvalidateServiceEntryRequirementCache | |
| 113 | GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | 
| 120 | GetNintendoAccountId | |
| 121 | CalculateNintendoAccountAuthenticationFingerprint | |
| 130 | GetNintendoAccountUserResourceCache | |
| 131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. | 
| 132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 133 | GetNintendoAccountVerificationUrlCache | |
| 134 | RefreshNintendoAccountVerificationUrlCacheAsync | |
| 135 | RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
| 136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
| 140 | GetNetworkServiceLicenseCache | |
| 141 | RefreshNetworkServiceLicenseCacheAsync | Returns an #IAsyncContext. | 
| 142 | RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
| 161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
| 180 | [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication | |
| 181 | [20.0.0+] CreateProcedureToReauthenticateNintendoAccount | |
| 182 | [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount | 
IFloatingRegistrationRequest
This is "nn::account::baas::IFloatingRegistrationRequest".
Added with [3.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSessionId | |
| 12 | GetAccountId | |
| 13 | GetLinkedNintendoAccountId | |
| 14 | GetNickname | |
| 15 | GetProfileImage | |
| 21 | LoadIdTokenCache | |
| 100 | RegisterUser ([1.0.0-3.0.2] RegisterAsync) | [1.0.0-3.0.2] Used to return an #IAsyncContext. | 
| 101 | RegisterUserWithUid ([1.0.0-3.0.2] RegisterWithUidAsync) | [1.0.0-3.0.2] Used to return an #IAsyncContext. | 
| 102 | [4.0.0+] RegisterNetworkServiceAccountAsync | Returns an #IAsyncContext. | 
| 103 | [4.0.0+] RegisterNetworkServiceAccountWithUidAsync | Returns an #IAsyncContext. | 
| 110 | SetSystemProgramIdentification | |
| 111 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
IAdministrator
This is "nn::account::baas::IAdministrator".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
| 4 | [19.0.0+] LoadIdTokenCache | |
| 100 | SetSystemProgramIdentification | |
| 101 | [7.0.0+] RefreshNotificationTokenAsync | |
| 110 | [4.0.0+] GetServiceEntryRequirementCache | |
| 111 | [4.0.0+] InvalidateServiceEntryRequirementCache | |
| 112 | [4.0.0-6.2.0] InvalidateTokenCache | |
| 113 | [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | 
| 120 | GetNintendoAccountId | |
| 121 | [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint | |
| 130 | GetNintendoAccountUserResourceCache | |
| 131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. | 
| 132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 133 | [9.0.0+] GetNintendoAccountVerificationUrlCache | |
| 134 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync | |
| 135 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
| 136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
| 140 | [5.0.0+] GetNetworkServiceLicenseCache | |
| 141 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsync | |
| 142 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | |
| 143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
| 161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
| 180 | [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication | |
| 181 | [20.0.0+] CreateProcedureToReauthenticateNintendoAccount | |
| 182 | [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount | |
| 200 | IsRegistered | |
| 201 | RegisterAsync | Returns an #IAsyncContext. | 
| 202 | UnregisterAsync | Returns an #IAsyncContext. | 
| 203 | DeleteRegistrationInfoLocally | |
| 204 | [19.0.0-19.0.1] UnregisterDeviceAsync | |
| 220 | SynchronizeProfileAsync | Returns an #IAsyncContext. | 
| 221 | UploadProfileAsync | Returns an #IAsyncContext. | 
| 222 | SynchronizeProfileAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 223 | [19.0.0+] DownloadProfileAsync | |
| 250 | IsLinkedWithNintendoAccount | |
| 251 | CreateProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. | 
| 252 | ResumeProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. | 
| 255 | CreateProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. | 
| 256 | ResumeProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. | 
| 260 | [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. | 
| 261 | [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. | 
| 280 | ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount | Returns an #IOAuthProcedure. | 
| 290 | [8.0.0+] GetRequestForNintendoAccountUserResourceView | |
| 300 | [6.0.0+] TryRecoverNintendoAccountUserStateAsync | Returns an #IAsyncContext. | 
| 400 | [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay | Takes a total of 0x8-bytes of input, returns an output u8. | 
| 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. | 
| 998 | DebugSetAvailabilityErrorDetail | 
IAuthorizationRequest
This is "nn::account::nas::IAuthorizationRequest".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSessionId | |
| 10 | InvokeWithoutInteractionAsync | Returns an #IAsyncContext. | 
| 19 | IsAuthorized | |
| 20 | GetAuthorizationCode | |
| 21 | GetIdToken | |
| 22 | GetState | 
IOAuthProcedure
This is "nn::account::http::IOAuthProcedure".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | 
IOAuthProcedureForExternalNsa
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
Added with [3.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetAccountId | |
| 101 | GetLinkedNintendoAccountId | |
| 102 | GetNickname | |
| 103 | GetProfileImage | |
| 104 | [18.0.0+] GetProfileLargeImage | |
| 1000 | [19.0.0+] GetRequestForMoving | 
GetProfileLargeImage
Takes a type-0x6 output buffer, returns an output u32.
As of 18.0.0 this is stubbed, this eventually returns Result 0x167C.
IOAuthProcedureForNintendoAccountLinkage
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetRequestWithTheme | |
| 101 | IsNetworkServiceAccountReplaced | |
| [2.0.0-5.1.0] 199 | GetUrlForIntroductionOfExtraMembership | 
INotifier
This is "nn::account::detail::INotifier".
| Cmd | Name | 
|---|---|
| 0 | GetSystemEvent | 
IProfile
This is "nn::account::profile::IProfile".
| Cmd | Name | 
|---|---|
| 0 | #Get | 
| 1 | #GetBase | 
| 10 | #GetImageSize | 
| 11 | #LoadImage | 
Get
Takes an output type-0x1A buffer for #UserData, returns an output #ProfileBase.
GetBase
No input, returns an output #ProfileBase.
GetImageSize
No input, returns an output u32 for the size of the image buffer.
LoadImage
Takes an output type-0x6 buffer, returns the same output u32 as #GetImageSize.
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.
IProfileEditor
This is "nn::account::profile::IProfileEditor".
| Cmd | Name | 
|---|---|
| 0 | #Get | 
| 1 | #GetBase | 
| 10 | #GetImageSize | 
| 11 | #LoadImage | 
| 100 | #Store | 
| 101 | #StoreWithImage | 
Store
Takes a #ProfileBase and an input type-0x19 buffer for #UserData.
StoreWithImage
Takes a #ProfileBase, an input type-0x19 buffer for #UserData, and an input type-0x5 buffer.
IAsyncContext
This is "nn::account::detail::IAsyncContext".
| Cmd | Name | 
|---|---|
| 0 | GetSystemEvent | 
| 1 | Cancel | 
| 2 | HasDone | 
| 3 | GetResult | 
ISessionObject
This is "nn::account::detail::ISessionObject".
| Cmd | Name | 
|---|---|
| 999 | Dummy | 
acc:u0
This is "nn::account::IAccountServiceForApplication".
This was moved to ns with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Takes an input userID, returns an #IProfile. | 
| 6 | [3.0.0+] GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
| 99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | #InitializeApplicationInfoV0 | |
| 101 | GetBaasAccountManagerForApplication | Takes an input userID, returns an #IManagerForApplication. | 
| 102 | AuthenticateApplicationAsync | Returns an #IAsyncContext. | 
| 103 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 120 | CreateGuestLoginRequest | Returns an #IGuestLoginRequest. | 
| 130 | [5.0.0+] LoadOpenContext | |
| 131 | [6.0.0+] ListOpenContextStoredUsers | |
| 140 | [6.0.0+] #InitializeApplicationInfo | |
| 141 | [6.0.0+] ListQualifiedUsers | |
| 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
This is "nn::account::baas::IGuestLoginRequest".
| Cmd | Name | 
|---|---|
| 0 | GetSessionId | 
| [1.0.0-2.3.0] 11 | |
| 12 | GetAccountId | 
| 13 | GetLinkedNintendoAccountId | 
| 14 | GetNickname | 
| 15 | GetProfileImage | 
| 21 | [3.0.0+] LoadIdTokenCache | 
IManagerForApplication
This is "nn::account::baas::IManagerForApplication".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
| 4 | [19.0.0+] LoadIdTokenCache | |
| 130 | GetNintendoAccountUserResourceCacheForApplication | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | [5.0.0+] StoreOpenContext | |
| 170 | [6.0.0+] LoadNetworkServiceLicenseKindAsync | No input, returns an #IAsyncNetworkServiceLicenseKindContext. | 
IAsyncNetworkServiceLicenseKindContext
This is "nn::account::detail::IAsyncNetworkServiceLicenseKindContext".
This was added with [6.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSystemEvent | |
| 1 | Cancel | |
| 2 | HasDone | |
| 3 | GetResult | |
| 100 | GetNetworkServiceLicenseKind | 
acc:u1
This is "nn::account::IAccountServiceForSystemService".
This was moved to ns with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Returns an #IProfile. | 
| 6 | [3.0.0+] GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
| 99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | GetUserRegistrationNotifier | Returns an #INotifier. | 
| 101 | GetUserStateChangeNotifier | Returns an #INotifier. | 
| 102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. | 
| 103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. | 
| 104 | GetProfileUpdateNotifier | Returns an #INotifier. | 
| 105 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 106 | [9.0.0+] GetProfileSyncNotifier | |
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 112 | LoadSaveDataThumbnail | |
| 113 | [5.0.0+] GetSaveDataThumbnailExistence | |
| 120 | [10.0.0+] ListOpenUsersInApplication | |
| 130 | [6.0.0+] ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. | 
| 140 | [6.0.0+] ListQualifiedUsers | |
| 150 | [10.0.0-10.2.0] AuthenticateApplicationAsync | |
| 151 | [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
| 152 | [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount | |
| 190 | [1.0.0-9.2.0] GetUserLastOpenedApplication | |
| 191 | [7.0.0-19.0.1] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) | |
| 401 | [18.0.0+] GetPinCodeLength | |
| 402 | [18.0.0-19.0.1] GetPinCode | |
| 403 | [20.0.0+] GetPinCodeParity | |
| 404 | [20.0.0+] VerifyPinCode | |
| 405 | [20.0.0+] IsPinCodeVerificationForbidden | |
| 997 | [3.0.0+] DebugInvalidateTokenCacheForUser | |
| 998 | DebugSetUserStateClose | |
| 999 | DebugSetUserStateOpen | 
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.
IOAuthProcedureForUserRegistration
This is "nn::account::nas::IOAuthProcedureForUserRegistration".
This was added with [8.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | No input, returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Takes a type-0x9 input buffer, returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetAccountId | |
| 101 | GetLinkedNintendoAccountId | |
| 102 | GetNickname | |
| 103 | GetProfileImage | |
| 104 | [18.0.0+] GetProfileLargeImage | |
| 110 | RegisterUserAsync | No input, returns an #IAsyncContext. | 
| 111 | GetUid | |
| 200 | [17.0.0+] ApplyResponseForUserCreationAsync | |
| 205 | [17.0.0+] SuspendAfterApplyResponse | |
| 210 | [17.0.0+] IsProfileAvailable | |
| 220 | [17.0.0+] RegisterUserAsyncWithoutProfile | |
| 221 | [17.0.0+] RegisterUserWithProfileAsync | |
| 230 | [18.0.0+] RegisterUserWithLargeImageProfileAsync | 
acc:aa
This is "nn::account::IBaasAccessTokenAccessor".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | EnsureCacheAsync | Returns an #IAsyncContext. | 
| 1 | LoadCache | |
| 2 | GetDeviceAccountId | |
| 50 | [1.0.0-6.2.0] RegisterNotificationTokenAsync | Returns an #IAsyncContext. | 
| 51 | [1.0.0-6.2.0] UnregisterNotificationTokenAsync | Returns an #IAsyncContext. | 
dauth:0
This is "nn::dauth::detail::IService".
| Cmd | Name | 
|---|---|
| 0 | EnsureAuthenticationTokenCacheAsync ([5.0.0-5.1.0] GeneratePostData) | 
| 1 | [6.0.0+] LoadAuthenticationTokenCache | 
| 2 | [6.0.0+] InvalidateAuthenticationTokenCache | 
| 3 | [16.0.0+] IsDeviceAuthenticationTokenCacheAvailable | 
| 10 | [6.0.0+] EnsureEdgeTokenCacheAsync | 
| 11 | [6.0.0+] LoadEdgeTokenCache | 
| 12 | [6.0.0+] InvalidateEdgeTokenCache | 
| 13 | [16.0.0+] IsEdgeTokenCacheAvailable | 
| 20 | [11.0.0+] EnsureApplicationAuthenticationCacheAsync | 
| 21 | [11.0.0+] LoadApplicationAuthenticationTokenCache | 
| 22 | [11.0.0+] LoadApplicationNetworkServiceClientConfigCache | 
| 23 | [11.0.0+] IsApplicationAuthenticationCacheAvailable | 
| 24 | [11.0.0+] InvalidateApplicationAuthenticationCache | 
| 1000 | [15.0.0+] GetInactiveElicenseUsedEvent | 
| 9000 | [15.0.0+] ImportVirtualClientCertificate | 
| 9010 | [15.0.0+] DeleteVirtualClientCertificate | 
[10.0.0+] EnsureEdgeTokenCacheAsync now takes an additional 8-bytes of input.
IAsyncResult
This is "nn::dauth::detail::IAsyncResult".
This was added with [6.0.0+].
| Cmd | Name | 
|---|---|
| 0 | GetResult | 
| 1 | Cancel | 
| 2 | IsAvailable | 
| 3 | GetSystemEvent | 
acc:e
This is "nn::account::IAccountEntityServiceForAccountPolicy".
This was added with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Returns an #IProfile. | 
| 6 | GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | GetUserRegistrationNotifier | Returns an #INotifier. | 
| 101 | GetUserStateChangeNotifier | Returns an #INotifier. | 
| 102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. | 
| 103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. | 
| 104 | GetProfileUpdateNotifier | Returns an #INotifier. | 
| 105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 106 | GetProfileSyncNotifier | |
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 112 | LoadSaveDataThumbnail | |
| 113 | GetSaveDataThumbnailExistence | |
| 120 | ListOpenUsersInApplication | |
| 130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. | 
| 140 | ListQualifiedUsers | |
| 151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
| 152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
| 170 | GetNasOp2MembershipStateChangeNotifier | |
| 191 | [13.0.0-19.0.1] UpdateNotificationReceiverInfo | |
| 200 | BeginUserRegistration | |
| 201 | CompleteUserRegistration | |
| 202 | CancelUserRegistration | |
| 203 | DeleteUser | |
| 204 | SetUserPosition | |
| 205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. | 
| 206 | CompleteUserRegistrationForcibly | |
| 210 | CreateFloatingRegistrationRequest | Returns an #IFloatingRegistrationRequest. | 
| 211 | CreateProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x4-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. | 
| 212 | ResumeProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x14-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. | 
| 213 | [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount | |
| 214 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount | |
| 215 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse | |
| 230 | AuthenticateServiceAsync | Returns an #IAsyncContext. | 
| 250 | GetBaasAccountAdministrator | Returns an #IAdministrator. | 
| 251 | [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync | |
| 290 | ProxyProcedureForGuestLoginWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. | 
| 291 | ProxyProcedureForFloatingRegistrationWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. | 
| 292 | [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser | |
| 293 | [20.0.0+] ProxyProcedureForDeviceMigrationDownload | |
| 299 | SuspendBackgroundDaemon | Returns an #ISessionObject. | 
| 350 | [20.0.0+] CreateDeviceMigrationUserExportRequest | |
| 351 | [20.0.0+] UploadNasCredential | |
| 352 | [20.0.0+] CreateDeviceMigrationUserImportRequest | |
| 353 | [20.0.0+] DeleteUserMigrationSaveData | |
| 400 | [18.0.0+] SetPinCode | |
| 401 | [18.0.0+] GetPinCodeLength | |
| 402 | [18.0.0-19.0.1] GetPinCode | |
| 403 | [20.0.0+] GetPinCodeParity | |
| 404 | [20.0.0+] VerifyPinCode | |
| 405 | [20.0.0+] IsPinCodeVerificationForbidden | |
| 410 | [18.0.0+] GetPinCodeErrorCount | |
| 411 | [18.0.0-19.0.1] ResetPinCodeErrorCount | |
| 412 | [18.0.0-19.0.1] IncrementPinCodeErrorCount | |
| 413 | [20.0.0+] SetPinCodeErrorCount | |
| 420 | [19.0.0+] SetStartPenaltyTime | |
| 421 | [19.0.0+] GetStartPenaltyTime | |
| 900 | SetUserUnqualifiedForDebug | |
| 901 | UnsetUserUnqualifiedForDebug | |
| 902 | ListUsersUnqualifiedForDebug | |
| 910 | [16.0.0+] RefreshFirmwareSettingsForDebug | |
| 997 | DebugInvalidateTokenCacheForUser | |
| 998 | DebugSetUserStateClose | |
| 999 | DebugSetUserStateOpen | |
| 1000 | CreateIAccountEntityServiceForApplication | Returns an #IAccountEntityServiceForApplication. | 
| 1100 | CreateIUserStateManager | Returns an #IUserStateManager. | 
| 10050 | IsUserRegistrationRequestPermittedForAccountPolicy | |
| 10105 | CheckNetworkServiceAvailabilityAsyncForAccountPolicy | 
IProfile
This is "nn::account::profile::IProfile".
| Cmd | Name | 
|---|---|
| 0 | #Get | 
| 1 | #GetBase | 
| 10 | #GetImageSize | 
| 11 | #LoadImage | 
| 20 | [18.0.0+] GetLargeImageSize | 
| 21 | [18.0.0+] LoadLargeImage | 
| 30 | [18.0.0+] GetImageId | 
| 40 | [19.0.0+] GetStableUserId | 
Get
Takes an output type-0x1A buffer for #UserData, returns an output #ProfileBase.
GetBase
No input, returns an output #ProfileBase.
GetImageSize
No input, returns an output u32 for the size of the image buffer.
LoadImage
Takes an output type-0x6 buffer, returns the same output u32 as #GetImageSize.
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.
IProfileEditor
This is "nn::account::profile::IProfileEditor".
| Cmd | Name | 
|---|---|
| 0 | #Get | 
| 1 | #GetBase | 
| 10 | #GetImageSize | 
| 11 | #LoadImage | 
| 20 | [18.0.0+] GetLargeImageSize | 
| 21 | [18.0.0+] LoadLargeImage | 
| 30 | [18.0.0+] GetImageId | 
| 40 | [19.0.0+] GetStableUserId | 
| 100 | #Store | 
| 101 | #StoreWithImage | 
| 110 | [18.0.0+] StoreWithLargeImage | 
Store
Takes a #ProfileBase and an input type-0x19 buffer for #UserData.
StoreWithImage
Takes a #ProfileBase, an input type-0x19 buffer for #UserData, and an input type-0x5 buffer.
IAsyncContext
This is "nn::account::detail::IAsyncContext".
| Cmd | Name | 
|---|---|
| 0 | GetSystemEvent | 
| 1 | Cancel | 
| 2 | HasDone | 
| 3 | GetResult | 
ISessionObject
This is "nn::account::detail::ISessionObject".
| Cmd | Name | 
|---|---|
| 999 | Dummy | 
INotifier
This is "nn::account::detail::INotifier".
| Cmd | Name | 
|---|---|
| 0 | GetSystemEvent | 
IManagerForSystemService
This is "nn::account::baas::IManagerForSystemService".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
| 4 | [19.0.0+] LoadIdTokenCache | |
| 100 | SetSystemProgramIdentification | |
| 101 | RefreshNotificationTokenAsync | |
| 110 | GetServiceEntryRequirementCacheForLogin | |
| 111 | InvalidateServiceEntryRequirementCache | |
| 113 | GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | 
| 120 | GetNintendoAccountId | |
| 121 | CalculateNintendoAccountAuthenticationFingerprint | |
| 130 | GetNintendoAccountUserResourceCache | |
| 131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. | 
| 132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 133 | GetNintendoAccountVerificationUrlCache | |
| 134 | RefreshNintendoAccountVerificationUrlCacheAsync | |
| 135 | RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
| 136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
| 140 | GetNetworkServiceLicenseCache | |
| 141 | RefreshNetworkServiceLicenseCacheAsync | Returns an #IAsyncContext. | 
| 142 | RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
| 161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
| 180 | [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication | |
| 181 | [20.0.0+] CreateProcedureToReauthenticateNintendoAccount | |
| 182 | [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount | 
IFloatingRegistrationRequest
This is "nn::account::baas::IFloatingRegistrationRequest".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSessionId | |
| 12 | GetAccountId | |
| 13 | GetLinkedNintendoAccountId | |
| 14 | GetNickname | |
| 15 | GetProfileImage | |
| 16 | [18.0.0+] GetProfileLargeImage | |
| 21 | LoadIdTokenCache | |
| 100 | RegisterUser | |
| 101 | RegisterUserWithUid | |
| 102 | RegisterNetworkServiceAccountAsync | Returns an #IAsyncContext. | 
| 103 | RegisterNetworkServiceAccountWithUidAsync | Returns an #IAsyncContext. | 
| 110 | SetSystemProgramIdentification | |
| 111 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
IAdministrator
This is "nn::account::baas::IAdministrator".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
| 4 | [19.0.0+] LoadIdTokenCache | |
| 100 | SetSystemProgramIdentification | |
| 101 | [7.0.0+] RefreshNotificationTokenAsync | |
| 110 | [4.0.0+] GetServiceEntryRequirementCache | |
| 111 | [4.0.0+] InvalidateServiceEntryRequirementCache | |
| 112 | [4.0.0-6.2.0] InvalidateTokenCache | |
| 113 | [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | 
| 120 | GetNintendoAccountId | |
| 121 | [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint | |
| 130 | GetNintendoAccountUserResourceCache | |
| 131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. | 
| 132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 133 | [9.0.0+] GetNintendoAccountVerificationUrlCache | |
| 134 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync | |
| 135 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
| 136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
| 140 | [5.0.0+] GetNetworkServiceLicenseCache | |
| 141 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsync | |
| 142 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | |
| 143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
| 161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
| 180 | [18.0.0-19.0.1] GetRequestForNintendoAccountReauthentication | |
| 181 | [20.0.0+] CreateProcedureToReauthenticateNintendoAccount | |
| 182 | [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount | |
| 200 | IsRegistered | |
| 201 | RegisterAsync | Returns an #IAsyncContext. | 
| 202 | UnregisterAsync | Returns an #IAsyncContext. | 
| 203 | DeleteRegistrationInfoLocally | |
| 204 | [19.0.0-19.0.1] UnregisterDeviceAsync | |
| 220 | SynchronizeProfileAsync | Returns an #IAsyncContext. | 
| 221 | UploadProfileAsync | Returns an #IAsyncContext. | 
| 222 | SynchronizeProfileAsyncIfSecondsElapsed | Returns an #IAsyncContext. | 
| 223 | [19.0.0+] DownloadProfileAsync | |
| 250 | IsLinkedWithNintendoAccount | |
| 251 | CreateProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. | 
| 252 | ResumeProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. | 
| 255 | CreateProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. | 
| 256 | ResumeProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. | 
| 260 | [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. | 
| 261 | [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. | 
| 280 | ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount | Returns an #IOAuthProcedure. | 
| 290 | [8.0.0+] GetRequestForNintendoAccountUserResourceView | |
| 300 | [6.0.0+] TryRecoverNintendoAccountUserStateAsync | Returns an #IAsyncContext. | 
| 400 | [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay | Takes a total of 0x8-bytes of input, returns an output u8. | 
| 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. | 
| 998 | DebugSetAvailabilityErrorDetail | 
IAuthorizationRequest
This is "nn::account::nas::IAuthorizationRequest".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSessionId | |
| 10 | InvokeWithoutInteractionAsync | Returns an #IAsyncContext. | 
| 19 | IsAuthorized | |
| 20 | GetAuthorizationCode | |
| 21 | GetIdToken | |
| 22 | GetState | 
IOAuthProcedure
This is "nn::account::http::IOAuthProcedure".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | 
IOAuthProcedureForExternalNsa
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetAccountId | |
| 101 | GetLinkedNintendoAccountId | |
| 102 | GetNickname | |
| 103 | GetProfileImage | 
IOAuthProcedureForNintendoAccountLinkage
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | Returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetRequestWithTheme | |
| 101 | IsNetworkServiceAccountReplaced | |
| 200 | [16.0.0+] ApplyAsyncWithAuthorizedToken | 
IOAuthProcedureForUserRegistration
This is "nn::account::nas::IOAuthProcedureForUserRegistration".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | PrepareAsync | No input, returns an #IAsyncContext. | 
| 1 | GetRequest | |
| 2 | ApplyResponse | |
| 3 | ApplyResponseAsync | Takes a type-0x9 input buffer, returns an #IAsyncContext. | 
| 10 | Suspend | |
| 100 | GetAccountId | |
| 101 | GetLinkedNintendoAccountId | |
| 102 | GetNickname | |
| 103 | GetProfileImage | |
| 110 | RegisterUserAsync | No input, returns an #IAsyncContext. | 
| 111 | GetUid | 
IAccountEntityServiceForApplication
This is "nn::account::IAccountEntityServiceForApplication".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Takes an input userID, returns an #IProfile. | 
| 6 | GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | #InitializeApplicationInfoV0 | |
| 101 | GetBaasAccountManagerForApplication | Takes an input userID, returns an #IManagerForApplication. | 
| 102 | AuthenticateApplicationAsync | Returns an #IAsyncContext. | 
| 103 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 120 | CreateGuestLoginRequest | Returns an #IGuestLoginRequest. | 
| 130 | LoadOpenContext | |
| 131 | ListOpenContextStoredUsers | |
| 140 | #InitializeApplicationInfoV1 | |
| 141 | ListQualifiedUsers | |
| 150 | IsUserAccountSwitchLocked | |
| 160 | InitializeApplicationInfoV2 | |
| 10050 | IsUserRegistrationRequestPermittedForAccountPolicy | |
| 10100 | InitializeApplicationInfoV0ForAccountPolicy | |
| 10140 | InitializeApplicationInfoV1ForAccountPolicy | |
| 10160 | InitializeApplicationInfoV2ForAccountPolicy | 
InitializeApplicationInfo* is used by the user-process during service init.
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.
InitializeApplicationInfoV0
Takes a PID and an input u64 pid_placeholder, no output.
InitializeApplicationInfoV1
Takes a PID and an input u64 pid_placeholder, no output.
IGuestLoginRequest
This is "nn::account::baas::IGuestLoginRequest".
| Cmd | Name | 
|---|---|
| 0 | GetSessionId | 
| 12 | GetAccountId | 
| 13 | GetLinkedNintendoAccountId | 
| 14 | GetNickname | 
| 15 | GetProfileImage | 
| 16 | [18.0.0+] GetProfileLargeImage | 
| 21 | LoadIdTokenCache | 
IManagerForApplication
This is "nn::account::baas::IManagerForApplication".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | CheckAvailability | |
| 1 | GetAccountId | |
| 2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. | 
| 3 | LoadIdTokenCache | |
| 130 | GetNintendoAccountUserResourceCacheForApplication | |
| 150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. | 
| 160 | StoreOpenContext | |
| 170 | EnsureIdTokenCacheForOnlinePlayAsync | No input, returns an #IAsyncContextForLoginForOnlinePlay. | 
IAsyncContextForLoginForOnlinePlay
This is "nn::account::baas::IAsyncContextForLoginForOnlinePlay".
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetSystemEvent | |
| 1 | Cancel | |
| 2 | HasDone | |
| 3 | GetResult | |
| 100 | GetNetworkServiceLicenseInfoForOnlinePlay | 
IUserStateManager
This is "nn::account::detail::IUserStateManager".
| Cmd | Name | 
|---|---|
| 100 | EnableQualificationLimitation | 
| 101 | DisableQualificationLimitation | 
| 110 | SelectQualifiedUsers | 
| 900 | [14.0.0+] SetUserUnqualifiedForDebug | 
| 901 | [14.0.0+] UnsetUserUnqualifiedForDebug | 
| 902 | [14.0.0+] ListUsersUnqualifiedForDebug | 
acc:e:u1
This is "nn::account::IAccountServiceForSystemService".
This was added with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Returns an #IProfile. | 
| 6 | GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | GetUserRegistrationNotifier | Returns an #INotifier. | 
| 101 | GetUserStateChangeNotifier | Returns an #INotifier. | 
| 102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. | 
| 103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. | 
| 104 | GetProfileUpdateNotifier | Returns an #INotifier. | 
| 105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 106 | GetProfileSyncNotifier | |
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 112 | LoadSaveDataThumbnail | |
| 113 | GetSaveDataThumbnailExistence | |
| 120 | ListOpenUsersInApplication | |
| 130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. | 
| 140 | ListQualifiedUsers | |
| 151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
| 152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
| 170 | GetNasOp2MembershipStateChangeNotifier | |
| 191 | UpdateNotificationReceiverInfo | |
| 997 | DebugInvalidateTokenCacheForUser | |
| 998 | DebugSetUserStateClose | |
| 999 | DebugSetUserStateOpen | 
acc:e:u2
This is "nn::account::IAccountServiceForSystemServiceWithProfileEditor".
This was added with [13.0.0+].
| Cmd | Name | Notes | 
|---|---|---|
| 0 | GetUserCount | |
| 1 | GetUserExistence | |
| 2 | ListAllUsers | |
| 3 | ListOpenUsers | |
| 4 | GetLastOpenedUser | |
| 5 | GetProfile | Returns an #IProfile. | 
| 6 | GetProfileDigest | |
| 50 | #IsUserRegistrationRequestPermitted | |
| 51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
| 52 | [19.0.0+] TrySelectUserWithoutInteraction | |
| 99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. | 
| 100 | GetUserRegistrationNotifier | Returns an #INotifier. | 
| 101 | GetUserStateChangeNotifier | Returns an #INotifier. | 
| 102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. | 
| 103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. | 
| 104 | GetProfileUpdateNotifier | Returns an #INotifier. | 
| 105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. | 
| 106 | GetProfileSyncNotifier | |
| 110 | StoreSaveDataThumbnail | |
| 111 | ClearSaveDataThumbnail | |
| 112 | LoadSaveDataThumbnail | |
| 113 | GetSaveDataThumbnailExistence | |
| 120 | ListOpenUsersInApplication | |
| 130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. | 
| 140 | ListQualifiedUsers | |
| 151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
| 152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
| 170 | GetNasOp2MembershipStateChangeNotifier | |
| 191 | [13.0.0-19.0.1] UpdateNotificationReceiverInfo | |
| 205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. | 
| 401 | [18.0.0+] GetPinCodeLength | |
| 402 | [18.0.0-19.0.1] GetPinCode | |
| 403 | [20.0.0+] GetPinCodeParity | |
| 404 | [20.0.0+] VerifyPinCode | |
| 405 | [20.0.0+] IsPinCodeVerificationForbidden | |
| 997 | DebugInvalidateTokenCacheForUser | |
| 998 | DebugSetUserStateClose | |
| 999 | DebugSetUserStateOpen | 
UserData
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4? | ? | 
| 0x4 | 0x4? | Icon ID. 0 = Mii, the rest are character icon IDs. | 
| 0x8 | 0x1? | Profile icon background color ID | 
| 0x9 | 0x7 | ? | 
| 0x10 | 0x10 | Some ID related to the Mii? All zeros when a character icon is used. | 
| 0x20 | 0x60 | Usually zeros? | 
This is a 0x80-byte struct.
ProfileBase
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x10 | userID | 
| 0x10 | 0x8 | POSIX UTC timestamp, for last account edit. | 
| 0x18 | 0x20 | UTF-8 Nickname. Official sw uses strncpy to copy this into another struct (nn::account::Nickname), with a NUL-byte written after the copied data.
 | 
This is a 0x38-byte struct.
Uid
This is "nn::account::Uid". This is a 0x10-byte struct. This contains 2 u64s for the UserId.