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]] |