Changes

Jump to navigation Jump to search
3,134 bytes added ,  07:00, 17 December 2020
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
 
|}
 
|}
  

Navigation menu