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]] |
Line 428: |
Line 430: |
| |} | | |} |
| | | |
− | = 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 439: |
| ! 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 770: |
Line 774: |
| |- | | |- |
| | 915 || [9.0.0+] ShowApplicationRecord | | | 915 || [9.0.0+] ShowApplicationRecord |
| + | |- |
| + | | 916 || [11.0.0+] IsApplicationAutoDeleteDisabled |
| |- | | |- |
| | 1000 || [[#RequestVerifyApplicationDeprecated]] | | | 1000 || [[#RequestVerifyApplicationDeprecated]] |
Line 802: |
Line 808: |
| |- | | |- |
| | 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 840: |
| |- | | |- |
| | 1704 || [8.0.0+] [[#GetApplicationViewWithPromotionInfo]] | | | 1704 || [8.0.0+] [[#GetApplicationViewWithPromotionInfo]] |
| + | |- |
| + | | 1705 || [11.0.0+] [[#IsPatchAutoDeletableApplication]] |
| |- | | |- |
| | 1800 || IsNotificationSetupCompleted | | | 1800 || IsNotificationSetupCompleted |
Line 938: |
Line 950: |
| |- | | |- |
| | 2353 || [10.0.0+] GetApplicationDownloadTaskInfo | | | 2353 || [10.0.0+] GetApplicationDownloadTaskInfo |
| + | |- |
| + | | 2354 || [11.0.0+] PrioritizeApplicationBackgroundTask |
| |- | | |- |
| | 2400 || [8.0.0+] [[#GetPromotionInfo]] | | | 2400 || [8.0.0+] [[#GetPromotionInfo]] |
Line 965: |
Line 979: |
| | 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,290: |
| ==== 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,478: |
| 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. |
| + | |
| + | Runs code identical to [[#RegisterDeviceLockKey]], except the passed buffer/size are 0. |
| + | |
| + | ==== VerifyDeviceLockKey ==== |
| + | 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 runs hashing similar to [[#RegisterDeviceLockKey]], with the calculated hash being verified with the one from state. |
| + | |
| + | ==== HideApplicationIcon ==== |
| + | No input/output. |
| + | |
| + | ==== 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. | | This interface has no commands. |
Line 1,509: |
Line 1,615: |
| |- | | |- |
| | 1000 || PerformAutoUpdate | | | 1000 || PerformAutoUpdate |
| + | |- |
| + | | 1001 || [11.0.0+] ListAutoUpdateSchedule |
| |} | | |} |
| | | |