Changes

740 bytes added ,  13:36, 6 July 2017
no edit summary
Line 1: Line 1: −
= ncm =
+
LR (Location Resolver) contains services for internal file path and content management.
 +
 
 +
= LR services =
 +
== lr ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 0 || GetIPathResolver || Takes a StorageID
 +
|-
 +
| 1 || ||
 +
|-
 +
| 2 || CheckStorage || Takes a StorageID
 +
|-
 +
| 3 || ||
 +
|}
 +
 
 +
=== IPathResolver ===
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 0 || GetProgramNcaPath ||
 +
|-
 +
| 1 || SetProgramNcaPath ||
 +
|-
 +
| 2 || ||
 +
|-
 +
| 3 || ||
 +
|-
 +
| 4 || GetControlNcaPath ||
 +
|-
 +
| 5 || SetControlNcaPath ||
 +
|-
 +
| 6 || ||
 +
|-
 +
| 7 || ||
 +
|-
 +
| 8 || ||
 +
|-
 +
| 9 || ||
 +
|}
 +
 
 +
= Content Manager services =
 +
== ncm ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 12: Line 56:  
| 3 || ||  
 
| 3 || ||  
 
|-
 
|-
| 4 || GetContentStorage ||
+
| 4 || GetIContentStorage ||
 
|-
 
|-
| 5 || GetContentMetaDatabase ||
+
| 5 || GetIContentMetaDatabase ||
 
|-
 
|-
 
| 8 || ||  
 
| 8 || ||  
Line 29: Line 73:  
All of the above cmds takes a u8 as input.
 
All of the above cmds takes a u8 as input.
   −
== IContentStorage ==
+
=== IContentStorage ===
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 48: Line 92:  
| 6 || DeleteContent? || Takes a 0x10-sized entry.
 
| 6 || DeleteContent? || Takes a 0x10-sized entry.
 
|-
 
|-
| 7 || || Takes a 0x10-sized entry, returns a bool/u8.
+
| 7 || IsNcaEntryValid || Takes a 0x10-sized entry, returns a bool/u8.
 
|-
 
|-
| 8 || || Takes a type-0x1A string and a 0x10-sized entry.
+
| 8 || MakeNcaRegisteredPath || Takes a type-0x1A string and a 0x10-sized entry.
 
|-
 
|-
| 9 || || Takes a type-0x1A string and a 0x10-sized entry.
+
| 9 || MakeNcaPlaceholderPath || Takes a type-0x1A string and a 0x10-sized entry.
 
|-
 
|-
 
| 10 || || Void.
 
| 10 || || Void.
Line 83: Line 127:  
|}
 
|}
   −
=== GetRootEntry ===
+
==== GetRootEntry ====
 
Returns an entry of 16 completely random-looking bytes. It is not possible to read this entry.
 
Returns an entry of 16 completely random-looking bytes. It is not possible to read this entry.
    
Changes on reboot?
 
Changes on reboot?
   −
=== GetNumberOfEntries ===
+
==== GetNumberOfEntries ====
 
Writes the total number of entries which can be read by GetEntries, to cmdreply <SFCO_offset>+0x10.
 
Writes the total number of entries which can be read by GetEntries, to cmdreply <SFCO_offset>+0x10.
   −
=== GetEntries ===
+
==== GetEntries ====
 
Takes an output buffer, u32 offset and gets all entries starting at that offset.
 
Takes an output buffer, u32 offset and gets all entries starting at that offset.
 
Returns number of entries read.
 
Returns number of entries read.
Line 99: Line 143:  
The total read entries is exactly the same as the number of "<hex>.nca" directories in the storage FS(or at least under the "registered" directory?).
 
The total read entries is exactly the same as the number of "<hex>.nca" directories in the storage FS(or at least under the "registered" directory?).
   −
=== GetEntrySize ===
+
==== GetEntrySize ====
 
Takes a [[#NcaID]] as input.
 
Takes a [[#NcaID]] as input.
    
Returns the total size readable by ReadEntryRaw. This is the same as the size-field in the [[NAX0]] "<NcaID>.nca/00" file.
 
Returns the total size readable by ReadEntryRaw. This is the same as the size-field in the [[NAX0]] "<NcaID>.nca/00" file.
   −
=== ReadEntryRaw ===
+
==== ReadEntryRaw ====
 
Takes an output buffer, a [[#NcaID]] as input, and a u64 file offset.
 
Takes an output buffer, a [[#NcaID]] as input, and a u64 file offset.
   Line 117: Line 161:  
See GetEntrySize for the total size readable with this.
 
See GetEntrySize for the total size readable with this.
   −
=== GetNcaTitleInfo ===
+
==== GetNcaTitleInfo ====
 
Takes a [[#NcaID]] and returns the following 0x10-sized entry.
 
Takes a [[#NcaID]] and returns the following 0x10-sized entry.
   Line 137: Line 181:  
|}
 
|}
   −
== IContentMetaDatabase ==
+
=== IContentMetaDatabase ===
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 183: Line 227:  
|}
 
|}
   −
=== GetTitleIdInfo ===
+
==== GetTitleIdInfo ====
 
Takes a u64 title-id as input, returns same title-id together with info struct.
 
Takes a u64 title-id as input, returns same title-id together with info struct.
   Line 192: Line 236:  
  };
 
  };
   −
=== GetTitleList ===
+
==== GetTitleList ====
 
Each 24-byte entries is as follows:
 
Each 24-byte entries is as follows:
   Line 200: Line 244:       −
=== GetUpdateTitleList ===
+
==== GetUpdateTitleList ====
 
Takes a type-6 output buffer, each entry being 0x10-byte bytes, a u32 entryoffset and a 0x10-sized entry. Returns a u32 for total_read_entries.
 
Takes a type-6 output buffer, each entry being 0x10-byte bytes, a u32 entryoffset and a 0x10-sized entry. Returns a u32 for total_read_entries.
   Line 209: Line 253:  
This reads the titlelist stored in the specified title, normally a title with title-type 3, which is sysupdate-title 0100000000000816. Returns 0 with total_read_entries=0 when used with other title(s).
 
This reads the titlelist stored in the specified title, normally a title with title-type 3, which is sysupdate-title 0100000000000816. Returns 0 with total_read_entries=0 when used with other title(s).
   −
== NcaID ==
+
=== NcaID ===
 
This is a 0x10-byte entry. This is originally from the hex portion of "<hex>.nca" directory-names from this storage FS(like [[SD_Filesystem|SD]]).
 
This is a 0x10-byte entry. This is originally from the hex portion of "<hex>.nca" directory-names from this storage FS(like [[SD_Filesystem|SD]]).
    
The NcaID is the same as the first 0x10-bytes from the calculated SHA256 hash, from hashing the entire output from ReadEntryRaw.
 
The NcaID is the same as the first 0x10-bytes from the calculated SHA256 hash, from hashing the entire output from ReadEntryRaw.
   −
== Enums ==
+
=== Enums ===
=== Title Types ===
+
==== Title Types ====
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 246: Line 290:  
| Add-on content
 
| Add-on content
 
|}
 
|}
 +
 +
== ncm:v ==
 +
 +
[[Category:Services]]