Loader services: Difference between revisions

ldr:pm - GetProgramInfo
No edit summary
Line 14: Line 14:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Arguments
! Cmd || Name
|-
|-
| 0 || ||
| 0 || CreateProcess
|-
|-
| 1 || GetProgramInfo || Takes in a storageID + titleID, writes output to a C descriptor buffer.
| 1 || [[#GetProgramInfo]]
|-
|-
| 2 || ||
| 2 || [[#RegisterTitle]]
|-
|-
| 3 || ||
| 3 || [[#UnregisterTitle]]
|}
|}
== GetProgramInfo ==
Takes a TitleId + StorageId, writes output to a C descriptor buffer.
== RegisterTitle ==
Takes a TitleId + StorageId, returns an index.
== UnregisterTitle ==
Takes the index from [[#RegisterTitle]].
= ldr:shel =
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || [[#AddProcessToLaunchQueue]]
|-
| 1 || [[#ClearLaunchQueue]]
|}
== AddProcessToLaunchQueue ==
Takes a type-0x19 input buffer with launch arguments (as string), an u32 (size of arguments string), and an input title-id.
Loads a process for the specified title-id and passes along the supplied arguments.
Loaded processes are kept in a queue waiting for PM to launch them. The maximum number of waiting processes in this list is 10.
== ClearLaunchQueue ==
Clears the loaded processes waiting queue.


= ldr:ro =
= ldr:ro =
Line 115: Line 143:
| 2 || Always 0.
| 2 || Always 0.
|}
|}
= ldr:shel =
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || [[#LoadProcess]]
|-
| 1 || [[#ClearProcessList]]
|}
== LoadProcess ==
Takes a type-0x19 input buffer with launch arguments (as string), an u32 (size of arguments string), and an input title-id.
Loads a process for the specified title-id and passes along the supplied arguments.
Loaded processes are kept in a queue waiting for PM to launch them. The maximum number of waiting processes in this list is 10.
== ClearProcessList ==
Clears the loaded processes waiting queue.


[[Category:Services]]
[[Category:Services]]