Line 25: |
Line 25: |
| |- | | |- |
| | 9 || [10.0.0+] GetAddOnContentLostErrorCode | | | 9 || [10.0.0+] GetAddOnContentLostErrorCode |
| + | |- |
| + | | 10 || [11.0.0+] GetAddOnContentListChangedEventWithProcessId |
| |- | | |- |
| | 100 || [7.0.0+] [[#IPurchaseEventManager|CreateEcPurchasedEventManager]] | | | 100 || [7.0.0+] [[#IPurchaseEventManager|CreateEcPurchasedEventManager]] |
| |- | | |- |
| | 101 || [9.0.0+] [[#IPurchaseEventManager|CreatePermanentEcPurchasedEventManager]] | | | 101 || [9.0.0+] [[#IPurchaseEventManager|CreatePermanentEcPurchasedEventManager]] |
| + | |- |
| + | | 110 || [12.0.0+] [[#IContentsServiceManager|CreateContentsServiceManager]] |
| |} | | |} |
| | | |
Line 47: |
Line 51: |
| |- | | |- |
| | 4 || [9.0.0+] PopPurchasedProductInfoWithUid | | | 4 || [9.0.0+] PopPurchasedProductInfoWithUid |
| + | |} |
| + | |
| + | == IContentsServiceManager == |
| + | This is "nn::ec::IContentsServiceManager". |
| + | |
| + | This was added with [12.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || [[#RequestContentsAuthorizationToken]] |
| + | |} |
| + | |
| + | === RequestContentsAuthorizationToken === |
| + | Takes a total of 0x50-bytes of input, a PID, a type-0x5 input buffer. Returns an [[#IAsyncData|IAsyncData]] and an output handle. |
| + | |
| + | == IAsyncData == |
| + | This is "nn::ec::detail::IAsyncData". |
| + | |
| + | This was added with [12.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetSize |
| + | |- |
| + | | 1 || Get |
| + | |- |
| + | | 2 || Cancel |
| |} | | |} |
| | | |
Line 106: |
Line 141: |
| | 33 || ResumeApplicationDownload | | | 33 || ResumeApplicationDownload |
| |- | | |- |
− | | 34 || | + | | 34 || ClearTaskStatusList |
| |- | | |- |
| | 35 || UpdateVersionList | | | 35 || UpdateVersionList |
Line 428: |
Line 463: |
| |} | | |} |
| | | |
− | = ns:am2, ns:ec, ns:rid, ns:rt, ns:web = | + | = ns:am2, ns:ec, ns:rid, ns:rt, ns:web, ns:ro = |
| These services are all, at the top level, "nn::ns::detail::IServiceGetterInterface". These commands check a state field for a command-specific bit and returns an error if not set, this is likely a permissions check for service+command. | | These services are all, at the top level, "nn::ns::detail::IServiceGetterInterface". These commands check a state field for a command-specific bit and returns an error if not set, this is likely a permissions check for service+command. |
| + | |
| + | [11.0.0+] ns:ro was added. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 435: |
Line 472: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 7988 || [6.0.0+] [[#IDynamicRightsInterface|GetDynamicRightsInterface]]. | + | | 7988 || [6.0.0+] [[#IDynamicRightsInterface|GetDynamicRightsInterface]] |
| |- | | |- |
− | | 7989 || [5.1.0+] [[#IReadOnlyApplicationControlDataInterface|GetReadOnlyApplicationControlDataInterface]]. | + | | 7989 || [5.1.0+] [[#IReadOnlyApplicationControlDataInterface|GetReadOnlyApplicationControlDataInterface]] |
| |- | | |- |
− | | 7991 || [5.0.0+] [[#IReadOnlyApplicationRecordInterface|GetReadOnlyApplicationRecordInterface]]. | + | | 7991 || [5.0.0+] [[#IReadOnlyApplicationRecordInterface|GetReadOnlyApplicationRecordInterface]] |
| |- | | |- |
| | 7992 || [4.0.0+] [[#IECommerceInterface|GetECommerceInterface]] | | | 7992 || [4.0.0+] [[#IECommerceInterface|GetECommerceInterface]] |
Line 515: |
Line 552: |
| | 30 || [[#RequestApplicationUpdateInfo]] | | | 30 || [[#RequestApplicationUpdateInfo]] |
| |- | | |- |
− | | 31 || [1.0.0-3.0.2] | + | | 31 || [1.0.0-3.0.2] RequestUpdateApplication |
| |- | | |- |
| | 32 || [[#CancelApplicationDownload]] | | | 32 || [[#CancelApplicationDownload]] |
Line 770: |
Line 807: |
| |- | | |- |
| | 915 || [9.0.0+] ShowApplicationRecord | | | 915 || [9.0.0+] ShowApplicationRecord |
| + | |- |
| + | | 916 || [11.0.0+] IsApplicationAutoDeleteDisabled |
| |- | | |- |
| | 1000 || [[#RequestVerifyApplicationDeprecated]] | | | 1000 || [[#RequestVerifyApplicationDeprecated]] |
Line 802: |
Line 841: |
| |- | | |- |
| | 1312 || [10.0.0+] HasMovableEntity | | | 1312 || [10.0.0+] HasMovableEntity |
| + | |- |
| + | | 1313 || [11.0.0+] CleanupOrphanContents |
| + | |- |
| + | | 1314 || [11.0.0+] CheckPreconditionSatisfiedToMove |
| |- | | |- |
| | 1400 || PrepareShutdown | | | 1400 || PrepareShutdown |
Line 830: |
Line 873: |
| |- | | |- |
| | 1704 || [8.0.0+] [[#GetApplicationViewWithPromotionInfo]] | | | 1704 || [8.0.0+] [[#GetApplicationViewWithPromotionInfo]] |
| + | |- |
| + | | 1705 || [11.0.0+] [[#IsPatchAutoDeletableApplication]] |
| |- | | |- |
| | 1800 || IsNotificationSetupCompleted | | | 1800 || IsNotificationSetupCompleted |
Line 938: |
Line 983: |
| |- | | |- |
| | 2353 || [10.0.0+] GetApplicationDownloadTaskInfo | | | 2353 || [10.0.0+] GetApplicationDownloadTaskInfo |
| + | |- |
| + | | 2354 || [11.0.0+] PrioritizeApplicationBackgroundTask |
| + | |- |
| + | | 2355 || [12.0.0+] PreferStorageEfficientUpdate |
| + | |- |
| + | | 2356 || [12.0.0+] RequestStorageEfficientUpdatePreferable |
| |- | | |- |
| | 2400 || [8.0.0+] [[#GetPromotionInfo]] | | | 2400 || [8.0.0+] [[#GetPromotionInfo]] |
Line 965: |
Line 1,016: |
| | 2800 || [9.0.0+] GetApplicationIdOfPreomia | | | 2800 || [9.0.0+] GetApplicationIdOfPreomia |
| |- | | |- |
− | | 9999 || [10.0.0+] GetApplicationCertificate | + | | 3000 || [11.0.0+] [[#RegisterDeviceLockKey]] |
| + | |- |
| + | | 3001 || [11.0.0+] [[#UnregisterDeviceLockKey]] |
| + | |- |
| + | | 3002 || [11.0.0+] [[#VerifyDeviceLockKey]] |
| + | |- |
| + | | 3003 || [11.0.0+] [[#HideApplicationIcon]] |
| + | |- |
| + | | 3004 || [11.0.0+] [[#ShowApplicationIcon]] |
| + | |- |
| + | | 3005 || [11.0.0+] [[#HideApplicationTitle]] |
| + | |- |
| + | | 3006 || [11.0.0+] [[#ShowApplicationTitle]] |
| + | |- |
| + | | 3007 || [11.0.0+] [[#EnableGameCard]] |
| + | |- |
| + | | 3008 || [11.0.0+] [[#DisableGameCard]] |
| + | |- |
| + | | 3009 || [11.0.0+] [[#EnableLocalContentShare]] |
| + | |- |
| + | | 3010 || [11.0.0+] [[#DisableLocalContentShare]] |
| + | |- |
| + | | 3011 || [11.0.0+] [[#IsApplicationIconHidden]] |
| + | |- |
| + | | 3012 || [11.0.0+] [[#IsApplicationTitleHidden]] |
| + | |- |
| + | | 3013 || [11.0.0+] [[#IsGameCardEnabled]] |
| + | |- |
| + | | 3014 || [11.0.0+] [[#IsLocalContentShareEnabled]] |
| + | |- |
| + | | 9999 || [10.0.0-10.2.0] GetApplicationCertificate |
| |} | | |} |
| | | |
Line 1,246: |
Line 1,327: |
| ==== GetApplicationViewWithPromotionInfo ==== | | ==== GetApplicationViewWithPromotionInfo ==== |
| Takes a type-0x6 output buffer containing an array of [[#ApplicationViewWithPromotionInfo]], a type-0x5 input buffer containing an array of u64 [[NCM_services#ApplicationId|ApplicationIds]], no output. | | Takes a type-0x6 output buffer containing an array of [[#ApplicationViewWithPromotionInfo]], a type-0x5 input buffer containing an array of u64 [[NCM_services#ApplicationId|ApplicationIds]], no output. |
| + | |
| + | ==== IsPatchAutoDeletableApplication ==== |
| + | Takes an input [[NCM_services#ApplicationId|ApplicationId]], returns an output bool. |
| + | |
| + | Compares the input ApplicationId with the value of [[System_Settings|system-setting]] <code>ns.application!auto_deletable_application_id_on_not_enough_space</code>, with the bool being set to the comparsion result. |
| | | |
| ==== RequestDownloadApplicationPrepurchasedRights ==== | | ==== RequestDownloadApplicationPrepurchasedRights ==== |
Line 1,429: |
Line 1,515: |
| Returns an [[#IApplicationResource]]. | | Returns an [[#IApplicationResource]]. |
| | | |
− | === IGameCardStopper === | + | ==== RegisterDeviceLockKey ==== |
− | This is "nn::ns::detail::IGameCardStopper". | + | Takes a type-0x5 input buffer containing an InArray of u8, no output. |
| + | |
| + | User-processes expose this with two funcs: one which uses an user-specified u8 array directly, while the other uses [[HID_services#NpadButtonSet|NpadButton]]. |
| + | |
| + | This does SHA256 hashing, etc. |
| + | |
| + | ==== UnregisterDeviceLockKey ==== |
| + | No input/output. |
| | | |
− | This interface has no commands.
| + | Runs code identical to [[#RegisterDeviceLockKey]], except the passed buffer/size are 0. |
| | | |
− | === IRequestServerStopper === | + | ==== VerifyDeviceLockKey ==== |
− | This is "nn::ns::detail::IRequestServerStopper".
| + | Takes a type-0x5 input buffer containing an InArray of u8, no output. |
| | | |
− | This interface has no commands.
| + | User-processes expose this with two funcs: one which uses an user-specified u8 array directly, while the other uses [[HID_services#NpadButtonSet|NpadButton]]. |
| | | |
− | === IProgressMonitorForDeleteUserSaveDataAll ===
| + | This runs hashing similar to [[#RegisterDeviceLockKey]], with the calculated hash being verified with the one from state. |
− | This is "nn::ns::detail::IProgressMonitorForDeleteUserSaveDataAll". | |
| | | |
− | {| class="wikitable" border="1" | + | ==== HideApplicationIcon ==== |
− | |- | + | No input/output. |
− | ! Cmd || Name | + | |
| + | ==== ShowApplicationIcon ==== |
| + | No input/output. |
| + | |
| + | ==== HideApplicationTitle ==== |
| + | No input/output. |
| + | |
| + | ==== ShowApplicationTitle ==== |
| + | No input/output. |
| + | |
| + | ==== EnableGameCard ==== |
| + | No input/output. |
| + | |
| + | ==== DisableGameCard ==== |
| + | No input/output. |
| + | |
| + | ==== EnableLocalContentShare ==== |
| + | No input/output. |
| + | |
| + | ==== DisableLocalContentShare ==== |
| + | No input/output. |
| + | |
| + | ==== IsApplicationIconHidden ==== |
| + | No input, returns an output bool. |
| + | |
| + | ==== IsApplicationTitleHidden ==== |
| + | No input, returns an output bool. |
| + | |
| + | ==== IsGameCardEnabled ==== |
| + | No input, returns an output bool. |
| + | |
| + | ==== IsLocalContentShareEnabled ==== |
| + | No input, returns an output bool. |
| + | |
| + | Various Deliver cmds now load the same flag used by this cmd (IsLocalContentShareEnabled), with an error being returned when it's not enabled. |
| + | |
| + | === IGameCardStopper === |
| + | This is "nn::ns::detail::IGameCardStopper". |
| + | |
| + | This interface has no commands. |
| + | |
| + | === IRequestServerStopper === |
| + | This is "nn::ns::detail::IRequestServerStopper". |
| + | |
| + | This interface has no commands. |
| + | |
| + | === IProgressMonitorForDeleteUserSaveDataAll === |
| + | This is "nn::ns::detail::IProgressMonitorForDeleteUserSaveDataAll". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| |- | | |- |
| | 0 || GetSystemEvent | | | 0 || GetSystemEvent |
Line 1,507: |
Line 1,650: |
| |- | | |- |
| | 802 || [[#RequestVersionListData]] | | | 802 || [[#RequestVersionListData]] |
| + | |- |
| + | | 900 || [12.0.0+] ImportAutoUpdatePolicyJsonForDebug |
| + | |- |
| + | | 901 || [12.0.0+] ListDefaultAutoUpdatePolicy |
| + | |- |
| + | | 902 || [12.0.0+] ListAutoUpdatePolicyForSpecificApplication |
| |- | | |- |
| | 1000 || PerformAutoUpdate | | | 1000 || PerformAutoUpdate |
| + | |- |
| + | | 1001 || [11.0.0+] ListAutoUpdateSchedule |
| |} | | |} |
| | | |
Line 1,691: |
Line 1,842: |
| |- | | |- |
| | 14 || [10.0.0+] SelectApplicationLicense | | | 14 || [10.0.0+] SelectApplicationLicense |
| + | |- |
| + | | 15 || [12.0.0+] [[#RequestContentsAuthorizationToken]] |
| |} | | |} |
| | | |
Line 1,728: |
Line 1,881: |
| ==== GetRunningApplicationStatus ==== | | ==== GetRunningApplicationStatus ==== |
| Takes an input u64 "nn::ns::RightsEnvironmentHandle". Returns an u32 "nn::ns::RunningApplicationStatus". | | Takes an input u64 "nn::ns::RightsEnvironmentHandle". Returns an u32 "nn::ns::RunningApplicationStatus". |
| + | |
| + | ==== RequestContentsAuthorizationToken ==== |
| + | Takes a total of 0x50-bytes of input, a type-0x5 input buffer. Returns an [[#IAsyncData_2|IAsyncData]] and an output handle. |
| + | |
| + | ==== IAsyncData ==== |
| + | This is "nn::ns::detail::IAsyncData". |
| + | |
| + | This was added with [12.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetSize |
| + | |- |
| + | | 1 || Get |
| + | |- |
| + | | 2 || Cancel |
| + | |- |
| + | | 3 || GetErrorContext |
| + | |} |
| | | |
| === IECommerceInterface=== | | === IECommerceInterface=== |
Line 2,306: |
Line 2,480: |
| |- | | |- |
| | 15 || [10.0.0+] [[#GetApplicationProgramIdFromHost]] | | | 15 || [10.0.0+] [[#GetApplicationProgramIdFromHost]] |
| + | |- |
| + | | 16 || [12.0.0+] RefreshCachedDebugValues |
| + | |- |
| + | | 17 || [12.0.0+] PrepareLaunchApplicationFromHost |
| + | |- |
| + | | 18 || [12.0.0+] GetLaunchEvent |
| + | |- |
| + | | 19 || [12.0.0+] GetLaunchResult |
| |} | | |} |
| | | |