Process Manager services: Difference between revisions
→pm:shell: names |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 35: | Line 35: | ||
|- | |- | ||
| 5 || 0x20 || [2.0.0+] LaunchFlags_SignalOnStart | | 5 || 0x20 || [2.0.0+] LaunchFlags_SignalOnStart | ||
|} | |||
= ProcessEventInfo = | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| ProcessEvent | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| Padding/Reserved | |||
|- | |||
| 0x8 | |||
| 0x8 | |||
| ProcessId | |||
|- | |||
|} | |} | ||
Line 122: | Line 143: | ||
| 4 ([1.0.0-4.1.0] 5) || [[#GetApplicationProcessId]] | | 4 ([1.0.0-4.1.0] 5) || [[#GetApplicationProcessId]] | ||
|- | |- | ||
| 5 ([1.0.0-4.1.0] 6) || [[# | | 5 ([1.0.0-4.1.0] 6) || [[#HookToCreateApplicationProcess]] | ||
|- | |- | ||
| [6.0.0+] 6 || [[#ClearHook]] | | [6.0.0+] 6 || [[#ClearHook]] | ||
Line 208: | Line 229: | ||
| 7 ([4.0.0-4.1.0] 9) || [4.0.0+] [[#BoostSystemMemoryResourceLimit]] | | 7 ([4.0.0-4.1.0] 9) || [4.0.0+] [[#BoostSystemMemoryResourceLimit]] | ||
|- | |- | ||
| 8 || [7.0.0+] [[# | | 8 || [7.0.0+] [[#BoostApplicationThreadResourceLimit]] | ||
|- | |- | ||
| 9 || [8.0.0+] [[#GetBootFinishedEventHandle]] | | 9 || [8.0.0+] [[#GetBootFinishedEventHandle]] | ||
Line 214: | Line 235: | ||
== LaunchProgram == | == LaunchProgram == | ||
Takes launch_flags | Takes an u32 launch_flags and [[NCM_services#ProgramLocation|ProgramLocation]]. Returns the u64 title PID. | ||
See [[#Process launch]]. | |||
== GetProcessEventInfo == | == GetProcessEventInfo == | ||
Line 270: | Line 291: | ||
This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]]. | This is used directly by [[NS_Services#IApplicationManagerInterface|ns:am2 BoostSystemMemoryResourceLimit]]. | ||
== | == BoostApplicationThreadResourceLimit == | ||
Calls svcSetResourceLimitLimitValue to increase the limit on | Calls svcSetResourceLimitLimitValue to increase the limit on application threads by an amount calculated dynamically during setup. | ||
This function can only increase the limit once, on further calls it will call svcSetResourceLimitLimitValue with the same value it called the first time. | This function can only increase the limit once, on further calls it will call svcSetResourceLimitLimitValue with the same value it called the first time. | ||
On normal [[7.0.0]] retail firmware, this will double the limit on | On normal [[7.0.0]] retail firmware, this will double the limit on application threads from 0x60 to 0xC0. | ||
== GetBootFinishedEventHandle == | == GetBootFinishedEventHandle == |