Changes

Jump to navigation Jump to search
8,763 bytes added ,  20:48, 14 June 2019
Line 6: Line 6:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || CountAddOnContentByApplicationId
+
| 0 || [1.0.0-6.2.0] CountAddOnContentByApplicationId
 
|-
 
|-
| 1 || ListAddOnContentByApplicationId
+
| 1 || [1.0.0-6.2.0] ListAddOnContentByApplicationId
 
|-
 
|-
 
| 2 || CountAddOnContent
 
| 2 || CountAddOnContent
Line 14: Line 14:  
| 3 || ListAddOnContent
 
| 3 || ListAddOnContent
 
|-
 
|-
| 4 || GetAddOnContentBaseIdByApplicationId
+
| 4 || [1.0.0-6.2.0] GetAddOnContentBaseIdByApplicationId
 
|-
 
|-
 
| 5 || GetAddOnContentBaseId
 
| 5 || GetAddOnContentBaseId
 
|-
 
|-
| 6 || PrepareAddOnContentByApplicationId
+
| 6 || [1.0.0-6.2.0] PrepareAddOnContentByApplicationId
 
|-
 
|-
 
| 7 || PrepareAddOnContent
 
| 7 || PrepareAddOnContent
 
|-
 
|-
 
| 8 || [4.0.0+] GetAddOnContentListChangedEvent
 
| 8 || [4.0.0+] GetAddOnContentListChangedEvent
 +
|-
 +
| 100 || [7.0.0+] [[#IPurchaseEventManager|CreateEcPurchasedEventManager]]
 +
|}
 +
 +
== IPurchaseEventManager ==
 +
This is "nn::ec::IPurchaseEventManager".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || SetDefaultDeliveryTarget
 +
|-
 +
| 1 || SetDeliveryTarget
 +
|-
 +
| 2 || GetPurchasedEventReadableHandle
 +
|-
 +
| 3 || PopPurchasedProductInfo
 
|}
 
|}
   Line 62: Line 80:  
| 18 ||  
 
| 18 ||  
 
|-
 
|-
| 19 || [1.0.0-5.1.0] [[#LaunchApplication]]
+
| 19 || [[#LaunchApplication]]
 
|-
 
|-
 
| 21 || [[#GetApplicationContentPath]]
 
| 21 || [[#GetApplicationContentPath]]
Line 270: Line 288:     
== ListApplicationRecord ==
 
== ListApplicationRecord ==
Takes a type-6 output buffer and an u64.
+
Takes a type-6 output buffer and an u32 entry_offset.
    
Returns an array of title-info entries using the specified offset and size. No input titleID is passed to this.
 
Returns an array of title-info entries using the specified offset and size. No input titleID is passed to this.
Line 307: Line 325:  
|}
 
|}
   −
== LaunchApplication ==
+
== LaunchApplication ==
 
Takes an input u64 titleID, returns an output u64 PID.
 
Takes an input u64 titleID, returns an output u64 PID.
   Line 313: Line 331:     
== GetApplicationContentPath ==
 
== GetApplicationContentPath ==
Takes a 0x16-type output buffer, an u8 [[NCA|type]], and an u64 titleID.
+
Takes a 0x16-type output buffer, an u8 [[NCM_services#Title_Types|title type]], and an u64 titleID.
    
The input titleID is used with the application-title table like various other cmds, anything not in that table can't be used with this.
 
The input titleID is used with the application-title table like various other cmds, anything not in that table can't be used with this.
Line 390: Line 408:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 7992 || [[#IECommerceInterface|GetECommerceInterface]]
+
| 7988 || [6.0.0+] Returns an output [[#IDynamicRightsInterface]].
 +
|-
 +
| 7989 || [5.1.0+] Returns an output [[#IReadOnlyApplicationControlDataInterface]].
 +
|-
 +
| 7991 || [5.0.0+] Returns an output [[#IReadOnlyApplicationRecordInterface]].
 +
|-
 +
| 7992 || [4.0.0+] [[#IECommerceInterface|GetECommerceInterface]]
 
|-
 
|-
| 7993 || [[#IApplicationVersionInterface|GetApplicationVersionInterface]]
+
| 7993 || [4.0.0+] [[#IApplicationVersionInterface|GetApplicationVersionInterface]]
 
|-
 
|-
 
| 7994 || [[#IFactoryResetInterface|GetFactoryResetInterface]]
 
| 7994 || [[#IFactoryResetInterface|GetFactoryResetInterface]]
Line 452: Line 476:  
| 17 || ListApplicationRecordContentMeta
 
| 17 || ListApplicationRecordContentMeta
 
|-
 
|-
| 19 || [[#LaunchApplication]]
+
| 19 || [1.0.0-5.1.0] LaunchApplicationOld
 
|-
 
|-
 
| 21 || [[#GetApplicationContentPath]]
 
| 21 || [[#GetApplicationContentPath]]
Line 465: Line 489:  
|-
 
|-
 
| 30 || RequestApplicationUpdateInfo
 
| 30 || RequestApplicationUpdateInfo
 +
|-
 +
| [1.0.0-3.0.2] 31 ||
 
|-
 
|-
 
| 32 || CancelApplicationDownload
 
| 32 || CancelApplicationDownload
Line 478: Line 504:  
| 38 || CheckApplicationLaunchVersion
 
| 38 || CheckApplicationLaunchVersion
 
|-
 
|-
| 39 || CheckApplicationLaunchRights
+
| [1.0.0-6.2.0] 39 || CheckApplicationLaunchRights
 
|-
 
|-
 
| 40 || GetApplicationLogoData
 
| 40 || GetApplicationLogoData
Line 528: Line 554:  
| 65 || GetRequestServerStopper
 
| 65 || GetRequestServerStopper
 
|-
 
|-
| 66 || GetBackgroundApplyDeltaStressTaskInfo
+
| 66 || [3.0.0+] GetBackgroundApplyDeltaStressTaskInfo
 +
|-
 +
| 67 || [3.0.0+] CancelApplicationApplyDelta
 +
|-
 +
| 68 || [3.0.0+] ResumeApplicationApplyDelta
 +
|-
 +
| 69 || [3.0.0+] CalculateApplicationApplyDeltaRequiredSize
 +
|-
 +
| 70 || [3.0.0+] ResumeAll
 +
|-
 +
| 71 || [3.0.0+] GetStorageSize
 +
|-
 +
| 80 || [3.0.0+] RequestDownloadApplication
 +
|-
 +
| 81 || [3.0.0+] RequestDownloadAddOnContent
 
|-
 
|-
| 67 || CancelApplicationApplyDelta
+
| 82 || [3.0.0+] DownloadApplication
 
|-
 
|-
| 68 || ResumeApplicationApplyDelta
+
| [4.0.0-6.2.0] 83 || CheckApplicationResumeRights
 
|-
 
|-
| 69 || CalculateApplicationApplyDeltaRequiredSize
+
| 84 || [4.0.0+] GetDynamicCommitEvent
 
|-
 
|-
| 70 || ResumeAll
+
| 85 || [4.0.0+] RequestUpdateApplication2
 
|-
 
|-
| 71 || GetStorageSize
+
| 86 || [4.0.0+] EnableApplicationCrashReport
 
|-
 
|-
| 80 || RequestDownloadApplication
+
| 87 || [4.0.0+] IsApplicationCrashReportEnabled
 
|-
 
|-
| 81 || RequestDownloadAddOnContent
+
| 90 || [4.0.0+] BoostSystemMemoryResourceLimit
 
|-
 
|-
| 82 || DownloadApplication
+
| 91 || [5.0.0+] DeprecatedLaunchApplication
 
|-
 
|-
| 83 || CheckApplicationResumeRights
+
| 92 || [5.0.0+] GetRunningApplicationProgramId
 
|-
 
|-
| 84 || GetDynamicCommitEvent
+
| 93 || [5.0.0+] GetMainApplicationProgramIndex
 
|-
 
|-
| 85 || RequestUpdateApplication2
+
| 94 || [6.0.0+] LaunchApplication
 
|-
 
|-
| 86 || EnableApplicationCrashReport
+
| 95 || [6.0.0+] GetApplicationLaunchInfo
 
|-
 
|-
| 87 || IsApplicationCrashReportEnabled
+
| 96 || [6.0.0+] AcquireApplicationLaunchInfo
 
|-
 
|-
| 90 || BoostSystemMemoryResourceLimit
+
| 97 || [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo
 +
|-
 +
| 98 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash
 +
|-
 +
| 99 || [8.0.0+]
 
|-
 
|-
 
| 100 || ResetToFactorySettings
 
| 100 || ResetToFactorySettings
Line 569: Line 613:  
|-
 
|-
 
| 210 || DeleteUserSystemSaveData
 
| 210 || DeleteUserSystemSaveData
 +
|-
 +
| 211 || [6.0.0+] DeleteSaveData
 
|-
 
|-
 
| 220 || UnregisterNetworkServiceAccount
 
| 220 || UnregisterNetworkServiceAccount
 +
|-
 +
| 221 || [6.0.0+] UnregisterNetworkServiceAccountWithUserSaveDataDeletion
 
|-
 
|-
 
| 300 || GetApplicationShellEvent
 
| 300 || GetApplicationShellEvent
Line 599: Line 647:  
|-
 
|-
 
| 405 || ListApplicationControlCacheEntryInfo
 
| 405 || ListApplicationControlCacheEntryInfo
 +
|-
 +
| 406 || [6.0.0+] GetApplicationControlProperty
 +
|-
 +
| 407 || [8.0.0+]
 +
|-
 +
| 408 || [8.0.0+]
 
|-
 
|-
 
| 502 || RequestCheckGameCardRegistration
 
| 502 || RequestCheckGameCardRegistration
Line 606: Line 660:  
| 504 || RequestRegisterGameCard
 
| 504 || RequestRegisterGameCard
 
|-
 
|-
| 505 || GetGameCardMountFailureEvent
+
| 505 || [3.0.0+] GetGameCardMountFailureEvent
 
|-
 
|-
| 506 || IsGameCardInserted
+
| 506 || [3.0.0+] IsGameCardInserted
 
|-
 
|-
| 507 || EnsureGameCardAccess
+
| 507 || [3.0.0+] EnsureGameCardAccess
 
|-
 
|-
| 508 || GetLastGameCardMountFailureResult
+
| 508 || [3.0.0+] GetLastGameCardMountFailureResult
 
|-
 
|-
| 509 || ListApplicationIdOnGameCard
+
| 509 || [5.0.0+] ListApplicationIdOnGameCard
 
|-
 
|-
 
| 600 || CountApplicationContentMeta
 
| 600 || CountApplicationContentMeta
Line 620: Line 674:  
| 601 || [[#ListApplicationContentMetaStatus]]
 
| 601 || [[#ListApplicationContentMetaStatus]]
 
|-
 
|-
| 602 || ListAvailableAddOnContent
+
| 602 || [2.0.0-5.1.0] ListAvailableAddOnContent
 
|-
 
|-
 
| 603 || GetOwnedApplicationContentMetaStatus
 
| 603 || GetOwnedApplicationContentMetaStatus
Line 628: Line 682:  
| 605 || ListApplicationContentMetaStatusWithRightsCheck
 
| 605 || ListApplicationContentMetaStatusWithRightsCheck
 
|-
 
|-
| 606 || GetContentMetaStorage
+
| 606 || [3.0.0+] GetContentMetaStorage
 +
|-
 +
| 607 || [6.0.0+] ListAvailableAddOnContent
 
|-
 
|-
 
| 700 || PushDownloadTaskList
 
| 700 || PushDownloadTaskList
Line 646: Line 702:  
| 801 || ListVersionList
 
| 801 || ListVersionList
 
|-
 
|-
| 802 || RequestVersionListData
+
| 802 || [3.0.0+] RequestVersionListData
 
|-
 
|-
 
| 900 || GetApplicationRecord
 
| 900 || GetApplicationRecord
Line 666: Line 722:  
| 908 || ListApplicationRecordInstalledContentMeta
 
| 908 || ListApplicationRecordInstalledContentMeta
 
|-
 
|-
| 909 || WithdrawCleanupAddOnContentsWithNoRightsRecommendation
+
| 909 || [3.0.0+] WithdrawCleanupAddOnContentsWithNoRightsRecommendation
 +
|-
 +
| 910 || [5.0.0+] HasApplicationRecord
 +
|-
 +
| 911 || [5.1.0+] SetPreInstalledApplication
 +
|-
 +
| 912 || [5.1.0+] ClearPreInstalledApplicationFlag
 
|-
 
|-
 
| 1000 || RequestVerifyApplicationDeprecated
 
| 1000 || RequestVerifyApplicationDeprecated
Line 672: Line 734:  
| 1001 || CorruptApplicationForDebug
 
| 1001 || CorruptApplicationForDebug
 
|-
 
|-
| 1002 || RequestVerifyAddOnContentsRights
+
| 1002 || [3.0.0+] RequestVerifyAddOnContentsRights
 
|-
 
|-
| 1003 || RequestVerifyApplication
+
| 1003 || [5.0.0+] RequestVerifyApplication
 
|-
 
|-
| 1004 || CorruptContentForDebug
+
| 1004 || [5.0.0+] CorruptContentForDebug
 
|-
 
|-
 
| 1200 || NeedsUpdateVulnerability
 
| 1200 || NeedsUpdateVulnerability
Line 686: Line 748:  
| 1302 || CleanupUnrecordedApplicationEntity
 
| 1302 || CleanupUnrecordedApplicationEntity
 
|-
 
|-
| 1303 || CleanupAddOnContentsWithNoRights
+
| 1303 || [3.0.0+] CleanupAddOnContentsWithNoRights
 
|-
 
|-
| 1304 || DeleteApplicationContentEntity
+
| 1304 || [3.0.0+] DeleteApplicationContentEntity
 
|-
 
|-
| 1305 || TryDeleteRunningApplicationEntity
+
| 1308 || [5.0.0+] DeleteApplicationCompletelyForDebug
 
|-
 
|-
| 1306 || TryDeleteRunningApplicationCompletely
+
| 1309 || [6.0.0+] CleanupUnavailableAddOnContents
|-
  −
| 1307 || TryDeleteRunningApplicationContentEntities
   
|-
 
|-
 
| 1400 || PrepareShutdown
 
| 1400 || PrepareShutdown
Line 704: Line 764:  
| 1502 || GetLastSdCardFormatUnexpectedResult
 
| 1502 || GetLastSdCardFormatUnexpectedResult
 
|-
 
|-
| 1504 || InsertSdCard
+
| 1504 || [3.0.0+] InsertSdCard
 
|-
 
|-
| 1505 || RemoveSdCard
+
| 1505 || [3.0.0+] RemoveSdCard
 
|-
 
|-
 
| 1600 || GetSystemSeedForPseudoDeviceId
 
| 1600 || GetSystemSeedForPseudoDeviceId
 
|-
 
|-
| 1601 || ResetSystemSeedForPseudoDeviceId
+
| 1601 || [3.0.0+] ResetSystemSeedForPseudoDeviceId
 
|-
 
|-
 
| 1700 || ListApplicationDownloadingContentMeta
 
| 1700 || ListApplicationDownloadingContentMeta
 
|-
 
|-
| 1701 || GetApplicationView
+
| 1701 || [3.0.0+] GetApplicationView
 +
|-
 +
| 1702 || [3.0.0+] GetApplicationDownloadTaskStatus
 
|-
 
|-
| 1702 || GetApplicationDownloadTaskStatus
+
| 1703 || [4.0.0+] GetApplicationViewDownloadErrorContext
 
|-
 
|-
| 1703 || GetApplicationViewDownloadErrorContext
+
| 1704 || [8.0.0+]
 
|-
 
|-
 
| 1800 || IsNotificationSetupCompleted
 
| 1800 || IsNotificationSetupCompleted
Line 726: Line 788:  
| 1802 || ListLastNotificationInfo
 
| 1802 || ListLastNotificationInfo
 
|-
 
|-
| 1803 || ListNotificationTask
+
| 1803 || [3.0.0+] ListNotificationTask
 +
|-
 +
| 1900 || [3.0.0+] IsActiveAccount
 +
|-
 +
| 1901 || [4.0.0+] RequestDownloadApplicationPrepurchasedRights
 +
|-
 +
| 1902 || [5.0.0+] GetApplicationTicketInfo
 +
|-
 +
| 2000 || [4.0.0+] GetSystemDeliveryInfo
 +
|-
 +
| 2001 || [4.0.0+] SelectLatestSystemDeliveryInfo
 +
|-
 +
| 2002 || [4.0.0+] VerifyDeliveryProtocolVersion
 +
|-
 +
| 2003 || [4.0.0+] GetApplicationDeliveryInfo
 +
|-
 +
| 2004 || [4.0.0+] HasAllContentsToDeliver
 +
|-
 +
| 2005 || [4.0.0+] CompareApplicationDeliveryInfo
 +
|-
 +
| 2006 || [4.0.0+] CanDeliverApplication
 +
|-
 +
| 2007 || [4.0.0+] ListContentMetaKeyToDeliverApplication
 +
|-
 +
| 2008 || [4.0.0+] NeedsSystemUpdateToDeliverApplication
 +
|-
 +
| 2009 || [4.0.0+] EstimateRequiredSize
 +
|-
 +
| 2010 || [4.0.0+] RequestReceiveApplication
 +
|-
 +
| 2011 || [4.0.0+] CommitReceiveApplication
 +
|-
 +
| 2012 || [4.0.0+] GetReceiveApplicationProgress
 +
|-
 +
| 2013 || [4.0.0+] RequestSendApplication
 +
|-
 +
| 2014 || [4.0.0+] GetSendApplicationProgress
 +
|-
 +
| 2015 || [4.0.0+] CompareSystemDeliveryInfo
 +
|-
 +
| 2016 || [4.0.0+] ListNotCommittedContentMeta
 +
|-
 +
| 2017 || [4.0.0+] RecoverDownloadTask
 +
|-
 +
| 2018 || [5.0.0+] GetApplicationDeliveryInfoHash
 +
|-
 +
| 2050 || [6.0.0+] GetApplicationRightsOnClient
 +
|-
 +
| 2100 || [6.0.0+] GetApplicationTerminateResult
 +
|-
 +
| 2101 || [6.0.0+] GetRawApplicationTerminateResult
 +
|-
 +
| 2150 || [6.0.0+] CreateRightsEnvironment
 +
|-
 +
| 2151 || [6.0.0+] DestroyRightsEnvironment
 +
|-
 +
| 2152 || [6.0.0+] ActivateRightsEnvironment
 +
|-
 +
| 2153 || [6.0.0+] DeactivateRightsEnvironment
 +
|-
 +
| 2154 || [6.0.0+] ForceActivateRightsContextForExit
 
|-
 
|-
| 1900 || IsActiveAccount
+
| 2155 || [7.0.0+] UpdateRightsEnvironmentStatus
 
|-
 
|-
| 1901 || RequestDownloadApplicationPrepurchasedRights
+
| 2160 || [6.0.0+] AddTargetApplicationToRightsEnvironment
 
|-
 
|-
| 1902 || GetApplicationTicketInfo
+
| 2161 || [6.0.0+] SetUsersToRightsEnvironment
 
|-
 
|-
| 2000 || GetSystemDeliveryInfo
+
| 2170 || [6.0.0+] GetRightsEnvironmentStatus
 
|-
 
|-
| 2001 || SelectLatestSystemDeliveryInfo
+
| 2171 || [6.0.0+] GetRightsEnvironmentStatusChangedEvent
 
|-
 
|-
| 2002 || VerifyDeliveryProtocolVersion
+
| 2180 || [6.0.0+] RequestExtendExpirationInRightsEnvironment
 
|-
 
|-
| 2003 || GetApplicationDeliveryInfo
+
| 2181 || [6.0.0+] GetResultOfExtendExpirationInRightsEnvironment
 
|-
 
|-
| 2004 || HasAllContentsToDeliver
+
| 2182 || [6.0.0+] SetActiveRightsContextUsingStateToRightsEnvironment
 
|-
 
|-
| 2005 || CompareApplicationDeliveryInfo
+
| 2190 || [6.0.0+] GetRightsEnvironmentHandleForApplication
 
|-
 
|-
| 2006 || CanDeliverApplication
+
| 2199 || [6.0.0+] GetRightsEnvironmentCountForDebug
 
|-
 
|-
| 2007 || ListContentMetaKeyToDeliverApplication
+
| 2200 || [6.0.0+] GetGameCardApplicationCopyIdentifier
 
|-
 
|-
| 2008 || NeedsSystemUpdateToDeliverApplication
+
| 2201 || [6.0.0+] GetInstalledApplicationCopyIdentifier
 
|-
 
|-
| 2009 || EstimateRequiredSize
+
| [6.0.0-6.2.0] 2250 || RequestReportActiveELicence
 
|-
 
|-
| 2010 || RequestReceiveApplication
+
| 2300 || [6.0.0+] ListEventLog
 
|-
 
|-
| 2011 || CommitReceiveApplication
+
| 2350 || [7.0.0+]
 
|-
 
|-
| 2012 || GetReceiveApplicationProgress
+
| 2400 || [8.0.0+]
 
|-
 
|-
| 2013 || RequestSendApplication
+
| 2401 || [8.0.0+]
 
|-
 
|-
| 2014 || GetSendApplicationProgress
+
| 2402 || [8.0.0+]
 
|-
 
|-
| 2015 || CompareSystemDeliveryInfo
+
| 2403 || [8.0.0+]
 
|-
 
|-
| 2016 || ListNotCommittedContentMeta
+
| 2404 || [8.0.0+]
 
|-
 
|-
| 2017 || CreateDownloadTask
+
| 2500 || [8.0.0+]
 
|-
 
|-
 
|}
 
|}
 +
 +
[4.0.0+] RequestDownloadAddOnContent now takes an additional 8-bytes of input.
    
=== IApplicationVersionInterface ===
 
=== IApplicationVersionInterface ===
 +
This is "nn::ns::detail::IApplicationVersionInterface".
 +
 +
This was added with [4.0.0+].
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 832: Line 960:  
|-
 
|-
 
| 23 || ResolveApplicationContentPath
 
| 23 || ResolveApplicationContentPath
 +
|-
 +
| 92 || [5.0.0+] GetRunningApplicationProgramId
 
|-
 
|-
 
|}
 
|}
Line 852: Line 982:  
| 705 || RequestDownloadTaskListData
 
| 705 || RequestDownloadTaskListData
 
|-
 
|-
| 706 || TryCommitCurrentApplicationDownloadTask
+
| 706 || [4.0.0+] TryCommitCurrentApplicationDownloadTask
 +
|-
 +
| 707 || [4.0.0+] EnableAutoCommit
 +
|-
 +
| 708 || [4.0.0+] DisableAutoCommit
 +
|-
 +
| 709 || [4.0.0+] TriggerDynamicCommitEvent
 +
|-
 +
|}
 +
 
 +
=== IReadOnlyApplicationRecordInterface ===
 +
This is "nn::ns::detail::IReadOnlyApplicationRecordInterface".
 +
 
 +
This was added with [5.0.0+].
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 0 || HasApplicationRecord || Same as [[#IApplicationManagerInterface]] cmd 910
 +
|}
 +
 
 +
=== IReadOnlyApplicationControlDataInterface ===
 +
This is "nn::ns::detail::IReadOnlyApplicationControlDataInterface".
 +
 
 +
This was added with [5.1.0+].
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 0 || [[#GetApplicationControlData]] || Same as [[#IApplicationManagerInterface]] cmd 400
 +
|-
 +
| 1 || [[#GetApplicationDesiredLanguage]] || Same as [[#IApplicationManagerInterface]] cmd 55
 +
|-
 +
| 2 || ConvertApplicationLanguageToLanguageCode || Same as [[#IApplicationManagerInterface]] cmd 59
 +
|-
 +
| 3 || [[#ConvertLanguageCodeToApplicationLanguage]] || Same as [[#IApplicationManagerInterface]] cmd 60
 +
|}
 +
 
 +
=== IDynamicRightsInterface ===
 +
This is "nn::ns::detail::IDynamicRightsInterface".
 +
 
 +
This was added with [6.0.0+].
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 0 || ||
 +
|-
 +
| 1 || ||
 +
|-
 +
| 4 || ||
 +
|-
 +
| 5 || ||
 +
|-
 +
| 6 || ||
 +
|-
 +
| 7 || ||
 +
|-
 +
| 8 || ||
 +
|-
 +
| 9 || [7.0.0+] ||
 +
|-
 +
| 10 || [7.0.0+] ||
 
|-
 
|-
| 707 || EnableAutoCommit
+
| 11 || [7.0.0+] ||  
 
|-
 
|-
| 708 || DisableAutoCommit
+
| 12 || [8.0.0+]
 
|-
 
|-
| 709 || TriggerDynamicCommitEvent
+
| 13 || [8.0.0+]
 
|-
 
|-
 
|}
 
|}
    
=== IECommerceInterface===
 
=== IECommerceInterface===
 +
This is "nn::ns::detail::IECommerceInterface".
 +
 +
This was added with [4.0.0+].
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Cmd || Name
+
! Cmd || Name || Notes
 +
|-
 +
| 0 || RequestLinkDevice || Takes a total of 0x10-bytes of input, returns an [[#IAsyncResult]].
 +
|-
 +
| 1 || [6.0.0+] RequestCleanupAllPreInstalledApplications || No input, returns an [[#IAsyncResult]].
 +
|-
 +
| 2 || [6.0.0+] RequestCleanupPreInstalledApplication || Takes a total of 0x8-bytes of input, returns an [[#IAsyncResult]].
 +
|-
 +
| 3 || [6.0.0+] RequestSyncRights || No input, returns an [[#IAsyncResult]].
 
|-
 
|-
| 0 || RequestLinkDevice
+
| 4 || [6.0.0+] RequestUnlinkDevice || Takes a total of 0x10-bytes of input, returns an [[#IAsyncResult]].
 
|-
 
|-
 +
| 5 || [6.1.0+] RequestRevokeAllELicense || Takes a total of 0x10-bytes of input, returns an [[#IAsyncResult]].
 
|}
 
|}
   Line 926: Line 1,134:  
| 10 || NotifySystemUpdateForContentDelivery
 
| 10 || NotifySystemUpdateForContentDelivery
 
|-
 
|-
| 11 || PrepareShutdown
+
| 11 || [3.0.0+] PrepareShutdown
 +
|-
 +
| [3.0.0-3.0.2] 12 ||
 +
|-
 +
| [3.0.0-3.0.2] 13 ||
 +
|-
 +
| [3.0.0-3.0.2] 14 ||
 +
|-
 +
| [3.0.0-3.0.2] 15 ||
 
|-
 
|-
| 16 || DestroySystemUpdateTask
+
| 16 || [4.0.0+] DestroySystemUpdateTask
 
|-
 
|-
| 17 || RequestSendSystemUpdate
+
| 17 || [4.0.0+] RequestSendSystemUpdate
 
|-
 
|-
| 18 || GetSendSystemUpdateProgress
+
| 18 || [4.0.0+] GetSendSystemUpdateProgress
 
|-
 
|-
 
|}
 
|}
Line 941: Line 1,157:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || HasDownloaded
+
| 0 || [[#HasDownloaded]]
 
|-
 
|-
 
| 1 || RequestCheckLatestUpdate
 
| 1 || RequestCheckLatestUpdate
Line 947: Line 1,163:  
| 2 || RequestDownloadLatestUpdate
 
| 2 || RequestDownloadLatestUpdate
 
|-
 
|-
| 3 || GetDownloadProgress
+
| 3 || [[#GetDownloadProgress]]
 
|-
 
|-
| 4 || ApplyDownloadedUpdate
+
| 4 || [[#ApplyDownloadedUpdate]]
 
|-
 
|-
 
| 5 || RequestPrepareCardUpdate
 
| 5 || RequestPrepareCardUpdate
Line 959: Line 1,175:  
| 8 || ApplyCardUpdate
 
| 8 || ApplyCardUpdate
 
|-
 
|-
| 9 || GetDownloadedEulaDataSize
+
| 9 || [[#GetDownloadedEulaDataSize]]
 
|-
 
|-
| 10 || GetDownloadedEulaData
+
| 10 || [[#GetDownloadedEulaData]]
 
|-
 
|-
 
| 11 || SetupCardUpdate
 
| 11 || SetupCardUpdate
Line 969: Line 1,185:  
| 13 || GetPreparedCardUpdateEulaData
 
| 13 || GetPreparedCardUpdateEulaData
 
|-
 
|-
| 14 || SetupCardUpdateViaSystemUpdater
+
| 14 || [4.0.0+] SetupCardUpdateViaSystemUpdater
 +
|-
 +
| 15 || [4.0.0+] HasReceived
 +
|-
 +
| 16 || [4.0.0+] RequestReceiveSystemUpdate
 +
|-
 +
| 17 || [4.0.0+] GetReceiveProgress
 +
|-
 +
| 18 || [4.0.0+] ApplyReceivedUpdate
 +
|-
 +
| 19 || [4.0.0+] GetReceivedEulaDataSize
 +
|-
 +
| 20 || [4.0.0+] GetReceivedEulaData
 +
|-
 +
| 21 || [4.0.0+] SetupToReceiveSystemUpdate
 +
|-
 +
| 22 || [6.0.0+] RequestCheckLatestUpdateIncludesRebootlessUpdate
 +
|}
 +
 
 +
=== HasDownloaded ===
 +
No input, returns an output u8 bool flag.
 +
 
 +
Gets whether a network sysupdate was downloaded, with install pending.
 +
 
 +
Uses [[NIM_services|nim]] ListSystemUpdateTask and [[NIM_services|nim]] GetSystemUpdateTaskInfo. When ListSystemUpdateTask successfully returns a task and GetSystemUpdateTaskInfo is successful, the output flag is set to: <code>*((u8*)(taskinfo+0) == 0x3</code>. Otherwise, flag=0.
 +
 
 +
This always returns 0, however this will assert if GetSystemUpdateTaskInfo fails with ret!=0x3C89.
 +
 
 +
=== GetDownloadProgress ===
 +
No input, returns a 0x10-byte output struct.
 +
 
 +
Similar to [[#HasDownloaded]] except instead of a flag, this returns the 0x10-bytes from taskinfo+8. The output struct is cleared when the task(info) isn't available.
 +
 
 +
=== ApplyDownloadedUpdate ===
 +
No input/output.
 +
 
 +
Runs code similar to [[#HasDownloaded]], throwing an error if a network sysupdate isn't ready for install. Then the sysupdate is installed:
 +
 
 +
* Uses ListSystemUpdateTask again, then [[NIM_services|nim]] IsExFatDriverIncluded. Runs ExFat handling when the output flag is set.
 +
* The two flags in [[Flash_Filesystem#System_Update_Control]] are set to 1.
 +
* Uses [[NIM_services|nim]] CommitSystemUpdateTask and [[NIM_services|nim]] DestroySystemUpdateTask.
 +
* Installs FIRM.
 +
 
 +
=== GetDownloadedEulaDataSize ===
 +
Takes a type-0x15 input buffer '''path''', returns an output u64 '''filesize'''.
 +
 
 +
Runs code similar to [[#HasDownloaded]], throwing an error if a network sysupdate isn't ready for install.
 +
 
 +
Uses ListSystemUpdateTask again. Then [[NIM_services|nim]] GetDownloadedSystemDataPath, with the output ContentPath being used to mount the EULA title with FS.
 +
 
 +
Then "<mountname>:/<'''path'''>" is opened, gets the '''filesize''', then runs cleanup.
 +
 
 +
=== GetDownloadedEulaData ===
 +
Takes a type-0x15 input buffer '''path''' and a type-0x6 output buffer, returns an output u64 '''filesize'''.
 +
 
 +
Similar to [[#GetDownloadedEulaDataSize]] except this reads the file instead, using the specified output buffer with size=filesize. This will throw an error if the filesize is larger than the buffer size.
 +
 
 +
= IAsyncValue =
 +
This is "nn::ns::detail::IAsyncValue".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 
|-
 
|-
| 15 || HasReceived
+
| 0 ||  
 
|-
 
|-
| 16 || RequestReceiveSystemUpdate
+
| 1 ||  
 
|-
 
|-
| 17 || GetReceiveProgress
+
| 2 ||  
 
|-
 
|-
| 18 || ApplyReceivedUpdate
+
| 3 || [4.0.0+]
 +
|}
 +
 
 +
Cmd3: No input/output, takes a type-0x16 output buffer.
 +
 
 +
= IAsyncResult =
 +
This is "nn::ns::detail::IAsyncResult".
 +
 
 +
{| class="wikitable" border="1"
 
|-
 
|-
| 19 || GetReceivedEulaDataSize
+
! Cmd || Name
 
|-
 
|-
| 20 || GetReceivedEulaData
+
| 0 ||  
 
|-
 
|-
| 21 || SetupToReceiveSystemUpdate
+
| 1 ||  
 
|-
 
|-
 +
| 2 || [4.0.0+]
 
|}
 
|}
 +
 +
Cmd2: No input/output, takes a type-0x16 output buffer.
    
= ns:dev =
 
= ns:dev =
Line 1,000: Line 1,289:  
| 2 || [[#TerminateProgram]]
 
| 2 || [[#TerminateProgram]]
 
|-
 
|-
| 4 || [[#GetShellEventHandle]]
+
| 4 || [[#GetShellEvent]]
 
|-
 
|-
 
| 5 || [[#GetShellEventInfo]]
 
| 5 || [[#GetShellEventInfo]]
Line 1,008: Line 1,297:  
| 7 || [[#PrepareLaunchProgramFromHost]]
 
| 7 || [[#PrepareLaunchProgramFromHost]]
 
|-
 
|-
| 8 || [[#LaunchApplication_2|#LaunchApplication]]
+
| 8 || [[#LaunchApplicationForDevelop]]
 
|-
 
|-
| 9 || [[#LaunchApplicationWithStorageId]]
+
| 9 || [[#LaunchApplicationWithStorageIdForDevelop]]
 
|-
 
|-
 +
| 10 || [6.0.0+] TerminateApplication2
 +
|-
 +
| 11 || [6.0.0+] GetRunningApplicationProcessIdForDevelop
 +
|-
 +
| 12 || [6.0.0+] SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop
 
|}
 
|}
   Line 1,023: Line 1,317:  
Wrapper for "pm:shell" [[Process_Manager_services#TerminateTitleByTitleId|TerminateTitleByTitleId]].
 
Wrapper for "pm:shell" [[Process_Manager_services#TerminateTitleByTitleId|TerminateTitleByTitleId]].
   −
== GetShellEventHandle==
+
== GetShellEvent ==
 
Wrapper for "pm:shell" [[Process_Manager_services#GetProcessEventWaiter|GetProcessEventWaiter]].
 
Wrapper for "pm:shell" [[Process_Manager_services#GetProcessEventWaiter|GetProcessEventWaiter]].
   Line 1,037: Line 1,331:  
Calls [[NCM_services#IPathResolverForStorage|IPathResolverForStorage]] Set...NcaPath functions.
 
Calls [[NCM_services#IPathResolverForStorage|IPathResolverForStorage]] Set...NcaPath functions.
   −
== LaunchApplication ==
+
== LaunchApplicationForDevelop ==
Takes an input u32 [[Process_Manager_services|launch_flags]] and u64 titleID, returns an output u64 PID.
+
Takes an input u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]] and u64 titleID, returns an output u64 PID.
    
Same as LaunchApplicationWithStorageId except the last two params passed to the internal vtable funcptr call are value 0x6, instead of from the command input.
 
Same as LaunchApplicationWithStorageId except the last two params passed to the internal vtable funcptr call are value 0x6, instead of from the command input.
   −
== LaunchApplicationWithStorageId ==
+
== LaunchApplicationWithStorageIdForDevelop ==
Takes 2 input u8s, an u32 [[Process_Manager_services|launch_flags]], and an u64 titleID. Returns an output u64 PID.
+
Takes 2 input u8s, an u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]], and an u64 titleID. Returns an output u64 PID.
    
Launches an application title which is registered with NS.  
 
Launches an application title which is registered with NS.  
    
[[Category:Services]]
 
[[Category:Services]]

Navigation menu