Changes

Jump to navigation Jump to search
111 bytes removed ,  20:13, 22 February 2020
no edit summary
Line 19: Line 19:  
== FlushArguments ==
 
== FlushArguments ==
 
Clears the loaded processes waiting queue.
 
Clears the loaded processes waiting queue.
      
= ldr:dmnt =
 
= ldr:dmnt =
Line 36: Line 35:     
== GetProcessModuleInfo ==
 
== GetProcessModuleInfo ==
Takes in a u64 Process ID, and a C descriptor out array of [[#ModuleInfos]]. Returns the number of ModuleInfos copied to output.
+
Takes in a u64 Process ID, and a C descriptor out array of [[#ModuleInfo]]s. Returns the number of ModuleInfos copied to output.
   −
ModuleInfo is the same here as for ro:dmnt.
+
= ldr:pm =
 +
This is "nn::ldr::detail::IProcessManagerInterface".
   −
ModuleInfo has the following layout:
+
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || CreateProcess
 +
|-
 +
| 1 || [[#GetProgramInfo]]
 +
|-
 +
| 2 || [[#PinProgram]]
 +
|-
 +
| 3 || [[#UnpinProgram]]
 +
|}
 +
 
 +
== GetProgramInfo ==
 +
Takes an ncm::ProgramLocation, parses the NPDM, and writes a [[#ProgramInfo]] to a C descriptor buffer.
 +
 
 +
== PinProgram ==
 +
Takes an ncm::ProgramLocation, returns a u64 "PinId".
 +
 
 +
== UnpinProgram ==
 +
Takes a PinId from [[#PinProgram]].
   −
=== ModuleInfo ===
+
= ModuleInfo =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 51: Line 71:  
| 0x0
 
| 0x0
 
| 0x20
 
| 0x20
| Build ID
+
| ModuleId
 
|-
 
|-
 
| 0x20
 
| 0x20
 
| 0x8
 
| 0x8
| Mapped Address
+
| ImageAddress
 
|-
 
|-
 
| 0x28
 
| 0x28
 
| 0x8
 
| 0x8
| Mapped Size
+
| ImageSize
|-
   
|}
 
|}
   −
 
+
= ProgramInfo =
= ldr:pm =
  −
This is "nn::ldr::detail::IProcessManagerInterface".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Cmd || Name
  −
|-
  −
| 0 || CreateProcess
  −
|-
  −
| 1 || [[#GetProgramInfo]]
  −
|-
  −
| 2 || [[#PinProgram]]
  −
|-
  −
| 3 || [[#UnpinProgram]]
  −
|}
  −
 
  −
== GetProgramInfo ==
  −
Takes an ncm::ProgramLocation, parses the NPDM, and writes a [[#ProgramInfo]] to a C descriptor buffer as follows:
  −
 
  −
=== ProgramInfo ===
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 146: Line 145:  
| ACI0 [[NPDM#FS Access Control|FS Access Control]]
 
| ACI0 [[NPDM#FS Access Control|FS Access Control]]
 
|}
 
|}
  −
== PinProgram ==
  −
Takes an ncm::ProgramLocation, returns a u64 "PinId".
  −
  −
== UnpinProgram ==
  −
Takes a PinId from [[#PinProgram]].
      
[[Category:Services]]
 
[[Category:Services]]

Navigation menu