Changes

1,982 bytes removed ,  09:11, 22 April 2019
Removed ro info as it is now on its own page.
Line 153: Line 153:  
== ClearLaunchQueue ==
 
== ClearLaunchQueue ==
 
Clears the loaded processes waiting queue.
 
Clears the loaded processes waiting queue.
  −
= ldr:ro, ro:1 =
  −
[1.0.0-2.3.0] This is "nn::ldr::detail::IRoInterface"
  −
  −
[3.0.0+] This is "nn::ro::detail::IRoInterface".
  −
  −
[7.0.0+] ro:1 was added, and also creates nn::ro::detail::IRoInterface objects.
  −
  −
{| class="wikitable" border="1"
  −
|-
  −
! Cmd || Name
  −
|-
  −
| 0 || [[#LoadNro]]
  −
|-
  −
| 1 || UnloadNro
  −
|-
  −
| 2 || [[#LoadNrr]]
  −
|-
  −
| 3 || UnloadNrr
  −
|-
  −
| 4 || [[#Initialize]]
  −
|-
  −
| 10 || [7.0.0+] [[#LoadNrrEx]]
  −
|}
  −
  −
== LoadNro ==
  −
{| class="wikitable" border="1"
  −
|-
  −
! Word || Value
  −
|-
  −
| 0 || 0x00000004
  −
|-
  −
| 1 || 0x80000012
  −
|-
  −
| 2 || 0x00000001
  −
|- style="border-top: double"
  −
| 0-1 || Pid
  −
|- style="border-top: double"
  −
| 0 || "SCFI"
  −
|-
  −
| 1 || 0x00000000
  −
|-
  −
| 2 || Always 0.
  −
|-
  −
| 3 || Nro heap address
  −
|-
  −
| 4 || Nro size
  −
|-
  −
| 5 || Bss backing heap address
  −
|-
  −
| 6 || Bss size
  −
|}
  −
  −
== LoadNrr ==
  −
[7.0.0+] A new 8-bit field at NRR + 0x33C (previously padding) must be 0 for this function to succeed.
  −
  −
{| class="wikitable" border="1"
  −
|-
  −
! Word || Value
  −
|-
  −
| 0 || 0x00000004
  −
|-
  −
| 1 || 0x8000000E
  −
|-
  −
| 2 || 0x00000001
  −
|-
  −
|- style="border-top: double"
  −
| 0-1 || Pid
  −
|- style="border-top: double"
  −
| 0 || "SFCI"
  −
|-
  −
| 1 || 0x00000002
  −
|-
  −
| 2 || Always 0.
  −
|-
  −
| 3 || Nrr address
  −
|-
  −
| 4 || Nrr size
  −
|}
  −
  −
== Initialize ==
  −
{| class="wikitable" border="1"
  −
|-
  −
! Word || Value
  −
|-
  −
| 0 || 0x00000004
  −
|-
  −
| 1 || 0x8000000A
  −
|-
  −
| 2 || 0x00000003
  −
|- style="border-top: double"
  −
| 0-1 || Pid
  −
|-
  −
| 2 || Process handle (0xFFFF8001)
  −
|- style="border-top: double"
  −
| 0 || "SFCI"
  −
|-
  −
| 1 || 0x00000004
  −
|-
  −
| 2 || Always 0.
  −
|}
  −
  −
== LoadNrrEx ==
  −
Takes in a u64 nrr_address, a u64 nrr_size, a pid descriptor, and a process handle.
  −
  −
First, this validates that the pid descriptor matches the pid for the process handle sent to this->Initialize() earlier.
  −
  −
Then, this calls the same function as LoadNrr, except using the passed process handle instead of the one sent to Initialize.
  −
  −
When called from an ro:1 session, the field at NRR header + 0x33C must be 0x1. When called from ldr:ro session, the field at NRR header + 0x33C must be 0x0.
      
[[Category:Services]]
 
[[Category:Services]]
48

edits