Changes

Jump to navigation Jump to search
5,014 bytes added ,  17:56, 3 July 2020
Line 23: Line 23:  
|-
 
|-
 
| 8 || [4.0.0+] GetAddOnContentListChangedEvent
 
| 8 || [4.0.0+] GetAddOnContentListChangedEvent
 +
|-
 +
| 9 || [10.0.0+] GetAddOnContentLostErrorCode
 
|-
 
|-
 
| 100 || [7.0.0+] [[#IPurchaseEventManager|CreateEcPurchasedEventManager]]
 
| 100 || [7.0.0+] [[#IPurchaseEventManager|CreateEcPurchasedEventManager]]
Line 613: Line 615:  
| 93 || [5.0.0+] GetMainApplicationProgramIndex
 
| 93 || [5.0.0+] GetMainApplicationProgramIndex
 
|-
 
|-
| 94 || [6.0.0+] LaunchApplication
+
| 94 || [6.0.0+] [[#LaunchApplication_2|LaunchApplication]]
 
|-
 
|-
| 95 || [6.0.0+] GetApplicationLaunchInfo
+
| 95 || [6.0.0+] [[#GetApplicationLaunchInfo]]
 
|-
 
|-
| 96 || [6.0.0+] AcquireApplicationLaunchInfo
+
| 96 || [6.0.0+] [[#AcquireApplicationLaunchInfo]]
 
|-
 
|-
 
| 97 || [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo
 
| 97 || [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo
Line 635: Line 637:  
| 104 || [9.1.0+] [[#ResetToFactorySettingsWithPlatformRegionAuthentication]]
 
| 104 || [9.1.0+] [[#ResetToFactorySettingsWithPlatformRegionAuthentication]]
 
|-
 
|-
| 105 || [10.0.0+] RequestResetToFactorySettingsSecurely
+
| 105 || [10.0.0+] [[#RequestResetToFactorySettingsSecurely]]
 
|-
 
|-
| 106 || [10.0.0+] RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely
+
| 106 || [10.0.0+] [[#RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely]]
 
|-
 
|-
 
| 200 || CalculateUserSaveDataStatistics
 
| 200 || CalculateUserSaveDataStatistics
Line 655: Line 657:  
| 301 || PopApplicationShellEventInfo
 
| 301 || PopApplicationShellEventInfo
 
|-
 
|-
| 302 || LaunchLibraryApplet
+
| 302 || [[#LaunchLibraryApplet]]
 
|-
 
|-
 
| 303 || TerminateLibraryApplet
 
| 303 || TerminateLibraryApplet
 
|-
 
|-
| 304 || LaunchSystemApplet
+
| 304 || [[#LaunchSystemApplet]]
 
|-
 
|-
 
| 305 || TerminateSystemApplet
 
| 305 || TerminateSystemApplet
 
|-
 
|-
| 306 || LaunchOverlayApplet
+
| 306 || [[#LaunchOverlayApplet]]
 
|-
 
|-
 
| 307 || TerminateOverlayApplet
 
| 307 || TerminateOverlayApplet
Line 717: Line 719:  
| 606 || [3.0.0+] GetContentMetaStorage
 
| 606 || [3.0.0+] GetContentMetaStorage
 
|-
 
|-
| 607 || [6.0.0+] ListAvailableAddOnContent
+
| 607 || [6.0.0+] [[#ListAvailableAddOnContent]]
 
|-
 
|-
 
| 700 || PushDownloadTaskList
 
| 700 || PushDownloadTaskList
Line 901: Line 903:  
| 2155 || [7.0.0+] UpdateRightsEnvironmentStatus
 
| 2155 || [7.0.0+] UpdateRightsEnvironmentStatus
 
|-
 
|-
| 2156 || [9.0.0+] CreateRightsEnvironmentForPreomia
+
| 2156 || [10.0.0+] CreateRightsEnvironmentForMicroApplication ([9.0.0-9.2.0] CreateRightsEnvironmentForPreomia)
 
|-
 
|-
 
| 2160 || [6.0.0+] AddTargetApplicationToRightsEnvironment
 
| 2160 || [6.0.0+] AddTargetApplicationToRightsEnvironment
Line 953: Line 955:  
| 2511 || [9.0.0+] [[#GetApplicationResource]]
 
| 2511 || [9.0.0+] [[#GetApplicationResource]]
 
|-
 
|-
| 2513 || [9.0.0+] LaunchPreomia
+
| 2513 || [10.0.0+] LaunchMicroApplication ([9.0.0-9.2.0] LaunchPreomia)
 
|-
 
|-
 
| 2514 || [9.0.0+] ClearTaskOfAsyncTaskManager
 
| 2514 || [9.0.0+] ClearTaskOfAsyncTaskManager
Line 1,058: Line 1,060:     
See [[#RequestApplicationUpdateInfo]] regarding nifm.
 
See [[#RequestApplicationUpdateInfo]] regarding nifm.
 +
 +
==== LaunchApplication ====
 +
Takes an input u8 ProgramIndex, an input [[#ApplicationLaunchInfo]], returns an output u64.
 +
 +
==== GetApplicationLaunchInfo ====
 +
Takes an input [[NCM_services#ApplicationId|ApplicationId]], returns an output [[#ApplicationLaunchInfo]].
 +
 +
==== AcquireApplicationLaunchInfo ====
 +
Takes an input [[NCM_services#ApplicationId|ApplicationId]], returns an output [[#ApplicationLaunchInfo]].
 +
 +
This verifies that a state flag is set and that a state field matches the input ApplicationId, throwing an error otherwise. The [[#ApplicationLaunchInfo]] from state is copied to output, then the state flag is cleared.
    
==== LaunchDevMenu ====
 
==== LaunchDevMenu ====
Line 1,068: Line 1,081:  
[[NCM_services#ncm|OpenContentMetaDatabase]] is used with StorageId = NandSystem, then IContentMetaDatabase GetLatestContentMetaKey is used with both of the above ProgramIds to verify that the cmd is successful.
 
[[NCM_services#ncm|OpenContentMetaDatabase]] is used with StorageId = NandSystem, then IContentMetaDatabase GetLatestContentMetaKey is used with both of the above ProgramIds to verify that the cmd is successful.
   −
Then if the above succeeds, the above titles are launched with the above StorageId via [[Process_Manager_services|pmshell]] LaunchProgram, with a 0.5s sleep-thread afterwards on success.
+
Then if the above succeeds, the above titles are launched with the above StorageId via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0), with a 0.5s sleep-thread afterwards on success. [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0xB is used here.
    
==== DeleteUserSaveDataAll ====
 
==== DeleteUserSaveDataAll ====
Line 1,086: Line 1,099:  
==== UnregisterNetworkServiceAccountWithUserSaveDataDeletion ====
 
==== UnregisterNetworkServiceAccountWithUserSaveDataDeletion ====
 
Takes an input [[Account_services#Uid|Uid]], no output.
 
Takes an input [[Account_services#Uid|Uid]], no output.
 +
 +
==== LaunchLibraryApplet ====
 +
Takes an input u64 [[NCM_services#ProgramId|ProgramId]], returns an output u64.
 +
 +
The specified program is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success.
 +
 +
This is used by [[Applet_Manager_services|AM]].
 +
 +
==== LaunchSystemApplet ====
 +
No input, returns an output u64.
 +
 +
A state flag must be zero, otherwise an error is thrown. When a state field is value 1, a hard-coded ProgramId for MaintenanceMenu is used. Otherwise, the ProgramId is loaded from [[System_Settings|system-setting]] <code>ns.applet!system_applet_id</code>.
 +
 +
The SystemApplet is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success.
 +
 +
This is used by [[Applet_Manager_services|AM]].
 +
 +
==== LaunchOverlayApplet ====
 +
No input, returns an output u64.
 +
 +
A state flag must be zero, otherwise an error is thrown. The ProgramId is loaded from [[System_Settings|system-setting]] <code>ns.applet!overlay_applet_id</code>.
 +
 +
The OverlayApplet is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success.
 +
 +
This is used by [[Applet_Manager_services|AM]].
    
==== RequestDownloadApplicationControlData ====
 
==== RequestDownloadApplicationControlData ====
Line 1,152: Line 1,190:     
This calls [[Filesystem_services#IDeviceOperator|fsp-srv IDeviceOperator]] GetGameCardCompatibilityType and returns the result.
 
This calls [[Filesystem_services#IDeviceOperator|fsp-srv IDeviceOperator]] GetGameCardCompatibilityType and returns the result.
 +
 +
==== ListAvailableAddOnContent ====
 +
[10.0.0+] This now takes a total of 0x10-bytes of input instead of a total of 0x18-bytes of input.
    
==== RequestDownloadTaskListData ====
 
==== RequestDownloadTaskListData ====
Line 1,754: Line 1,795:  
| 104 || [9.1.0+] [[#ResetToFactorySettingsWithPlatformRegionAuthentication]]
 
| 104 || [9.1.0+] [[#ResetToFactorySettingsWithPlatformRegionAuthentication]]
 
|-
 
|-
| 105 || [10.0.0+] RequestResetToFactorySettingsSecurely
+
| 105 || [10.0.0+] [[#RequestResetToFactorySettingsSecurely]]
 
|-
 
|-
| 106 || [10.0.0+] RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely
+
| 106 || [10.0.0+] [[#RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely]]
 
|}
 
|}
   Line 1,775: Line 1,816:  
==== ResetToFactorySettingsWithPlatformRegionAuthentication ====
 
==== ResetToFactorySettingsWithPlatformRegionAuthentication ====
 
No input/output.
 
No input/output.
 +
 +
==== RequestResetToFactorySettingsSecurely ====
 +
Takes a total of 8-bytes of input, a handle, returns an output [[#IAsyncValueAndProgress]] and a handle.
 +
 +
==== RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely ====
 +
Takes a total of 0x10-bytes of input, a handle, returns an output [[#IAsyncValueAndProgress]] and a handle.
 +
 +
===== IAsyncValueAndProgress =====
 +
This is "nn::ns::detail::IAsyncValueAndProgress".
 +
 +
This was added with [10.0.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || GetSize
 +
|-
 +
| 1 || Get
 +
|-
 +
| 2 || Cancel
 +
|-
 +
| 3 || GetErrorContext
 +
|-
 +
| 4 || GetProgress
 +
|}
    
=== IApplicationResource ===
 
=== IApplicationResource ===
Line 2,204: Line 2,271:  
This is "nn::ns::detail::IDevelopInterface".
 
This is "nn::ns::detail::IDevelopInterface".
   −
[10.0.0+] This has removed and its functionality has replaced by the [[PGL_services|pgl]] system module.
+
[10.0.0+] Some of these cmds were replaced by the [[PGL_services|pgl]] system module.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 2,210: Line 2,277:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || [[#LaunchProgram]]
+
| 0 || [1.0.0-9.2.0] [[#LaunchProgram]]
 
|-
 
|-
 
| 1 || [[#TerminateProcess]]
 
| 1 || [[#TerminateProcess]]
 
|-
 
|-
| 2 || [[#TerminateProgram]]
+
| 2 || [1.0.0-9.2.0] [[#TerminateProgram]]
 
|-
 
|-
| 4 || [[#GetShellEvent]]
+
| 4 || [1.0.0-9.2.0] [[#GetShellEvent]]
 
|-
 
|-
| 5 || [[#GetShellEventInfo]]
+
| 5 || [1.0.0-9.2.0] [[#GetShellEventInfo]]
 
|-
 
|-
 
| 6 || [[#TerminateApplication]]
 
| 6 || [[#TerminateApplication]]
 
|-
 
|-
| 7 || [[#PrepareLaunchProgramFromHost]]
+
| 7 || [1.0.0-9.2.0] [[#PrepareLaunchProgramFromHost]]
 
|-
 
|-
| 8 || [[#LaunchApplicationForDevelop]]
+
| 8 || [10.0.0+] [[#LaunchApplicationFromHost]] ([1.0.0-9.2.0] [[#LaunchApplicationForDevelop]])
 
|-
 
|-
 
| 9 || [[#LaunchApplicationWithStorageIdForDevelop]]
 
| 9 || [[#LaunchApplicationWithStorageIdForDevelop]]
 
|-
 
|-
| 10 || [6.0.0-8.1.0] IsSystemMemoryResourceLimitBoosted
+
| 10 || [6.0.0-8.1.0] [[#IsSystemMemoryResourceLimitBoosted]]
 
|-
 
|-
| 11 || [6.0.0+] GetRunningApplicationProcessIdForDevelop
+
| 11 || [6.0.0+] [[#GetRunningApplicationProcessIdForDevelop]]
 
|-
 
|-
| 12 || [6.0.0+] SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop
+
| 12 || [6.0.0+] [[#SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop]]
 
|-
 
|-
 
| 13 || [9.0.0+] [[#CreateApplicationResourceForDevelop]]
 
| 13 || [9.0.0+] [[#CreateApplicationResourceForDevelop]]
 
|-
 
|-
 
| 14 || [9.0.0+] [[#IsPreomiaForDevelop]]
 
| 14 || [9.0.0+] [[#IsPreomiaForDevelop]]
 +
|-
 +
| 15 || [10.0.0+] [[#GetApplicationProgramIdFromHost]]
 
|}
 
|}
   Line 2,255: Line 2,324:     
== TerminateApplication ==
 
== TerminateApplication ==
Calls "pm:shell" [[Process_Manager_services#pm:shell|GetApplicationProcessIdForShell]] and sends PID to [[Process_Manager_services#pm:shell|TerminateProcess]].
+
Calls "pm:shell" [[Process_Manager_services#pm:shell|GetApplicationProcessIdForShell]] and sends the ProcessId to [[Process_Manager_services#pm:shell|TerminateProcess]].
    
== PrepareLaunchProgramFromHost ==
 
== PrepareLaunchProgramFromHost ==
Line 2,263: Line 2,332:     
== LaunchApplicationForDevelop ==
 
== LaunchApplicationForDevelop ==
Takes an input u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]] and [[NCM_services#ApplicationId|ApplicationId]], returns an output u64 PID.
+
Takes an input u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]] and [[NCM_services#ApplicationId|ApplicationId]], returns an output u64 ProcessId.
 +
 
 +
Same as [[#LaunchApplicationWithStorageIdForDevelop]] 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.
+
== LaunchApplicationFromHost ==
 +
Takes an input u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]] and a type-0x5 input buffer containing the [[Filesystem_services|ContentPath]]. Returns an output u64 ProcessId.
    
== LaunchApplicationWithStorageIdForDevelop ==
 
== LaunchApplicationWithStorageIdForDevelop ==
Takes 2 input u8s, an u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]], and an [[NCM_services#ApplicationId|ApplicationId]]. Returns an output u64 PID.
+
Takes 2 input u8 [[NCM_services#StorageId|StorageIds]], an u32 [[Process_Manager_services#LaunchFlags|LaunchFlags]], and an [[NCM_services#ApplicationId|ApplicationId]]. Returns an output u64 ProcessId.
    
Launches an application title which is registered with NS.
 
Launches an application title which is registered with NS.
 +
 +
== IsSystemMemoryResourceLimitBoosted ==
 +
No input. Returns a bool.
 +
 +
== GetRunningApplicationProcessIdForDevelop ==
 +
Returns an output u64 ProcessId.
 +
 +
== SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop ==
 +
Takes an input bool. No output.
    
== CreateApplicationResourceForDevelop ==
 
== CreateApplicationResourceForDevelop ==
Takes an input u32 (1 = Preomia). Returns an [[#IApplicationResource]].
+
Takes an input u32 (1 = Preomia/MicroApplication). Returns an [[#IApplicationResource]].
    
== IsPreomiaForDevelop ==
 
== IsPreomiaForDevelop ==
Takes an u64 [[NCM_services#ProgramId|ProgramId]]. Returns a bool.
+
Takes an input u64 [[NCM_services#ProgramId|ProgramId]]. Returns a bool.
 +
 
 +
== GetApplicationProgramIdFromHost ==
 +
Takes a type-0x5 input buffer containing the [[Filesystem_services|ContentPath]]. Returns an u64 [[NCM_services#ProgramId|ProgramId]].
    
= VersionListData =
 
= VersionListData =
Line 2,522: Line 2,606:  
= DownloadTaskStatus =
 
= DownloadTaskStatus =
 
This is "nn::ns::DownloadTaskStatus". This is a 0x20-byte struct.
 
This is "nn::ns::DownloadTaskStatus". This is a 0x20-byte struct.
 +
 +
= ApplicationLaunchInfo =
 +
This is a 0x40-byte struct.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x8 || [[NCM_services#ApplicationId|ApplicationId]]
 +
|-
 +
| 0x8 || 0x4 || Application version
 +
|-
 +
| 0xC || 0x4 || [[Process_Manager_services#LaunchFlags|LaunchFlags]], set to hard-coded value 0xB by [[#GetApplicationLaunchInfo]].
 +
|-
 +
| 0x10 || 0x1 || Application [[NCM_services#StorageId|StorageId]]
 +
|-
 +
| 0x11 || 0x1 || Update [[NCM_services#StorageId|StorageId]]
 +
|-
 +
| 0x12 || 0x2E ||
 +
|}
    
[[Category:Services]]
 
[[Category:Services]]

Navigation menu