Difference between revisions of "NCM services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 58: Line 58:
 
| 12 || [[#GetNumberOfEntries]] ||
 
| 12 || [[#GetNumberOfEntries]] ||
 
|-
 
|-
| 13 || [[#ReadEntries]] ||
+
| 13 || [[#GetEntries]] ||
 
|-
 
|-
 
| 14 || GetEntrySize ||
 
| 14 || GetEntrySize ||
Line 85: Line 85:
 
Changes on reboot?
 
Changes on reboot?
  
== ReadEntries ==
+
== GetEntries ==
Takes a u32 offset and reads all entries starting at that offset.
+
Takes a u32 offset and gets all entries starting at that offset.
 
Returns number of entries read.
 
Returns number of entries read.
  

Revision as of 23:07, 10 June 2017

ncm

Cmd Name Notes
0 Takes a u8 as input.
1 Takes a u8 as input.
2 Takes a u8 as input.
3 Takes a u8 as input.
4 GetContentStorage
5 GetContentMetaDatabase
8 Takes a u8 as input.
9 InitializeStorageForMediaId
10 UninitializeStorageForMediaId
11 InitializeDatabaseForMediaId
12 UninitializeDatabaseForMediaId

IContentStorage

Cmd Name Notes
0 #GetRootEntry
1 Takes two 0x10-sized entries, and a u64.
2 Takes a 0x10-sized entry.
3 Takes a 0x10-sized entry, returns a bool/u8.
4 Takes a 0x10-sized entry, a u64, and type-5 array.
5 Takes two 0x10-sized entries.
6 DeleteContent? Takes a 0x10-sized entry.
7 Takes a 0x10-sized entry, returns a bool/u8.
8 Takes a type-0x1A string and a 0x10-sized entry.
9 Takes a type-0x1A string and a 0x10-sized entry.
10 Void.
11 Takes a type-6 buffer, each entry 0x10 bytes, and returns a u32.
12 #GetNumberOfEntries
13 #GetEntries
14 GetEntrySize
15 Void.
16 Takes three 0x10-sized entries.
17 Takes a 0x10-sized entry and a u64.
18 Takes a type-6 array, a 0x10-sized entry, and a u64.
19 Takes a 0x10-sized entry and returns another 0x10-sized entry.
20 Takes a 0x10-sized entry and returns another 0x10-sized entry.
21 Takes a 0x10-sized entry, a u64, and a type5 buffer.
22 GetFreeSpace
23 GetTotalSpace

GetRootEntry

Returns an entry of 16 completely random-looking bytes. Changes on reboot?

GetEntries

Takes a u32 offset and gets all entries starting at that offset. Returns number of entries read.

Each entry is 16 completely random-looking bytes.

IContentMetaDatabase

Cmd Name Notes
0 InsertContentEntry? Takes a 0x10-sized entry, a type-5 buffer and a u64.
1 Takes a 0x10-sized entry, a type-6 buffer and a u64. Returns a u64.
2 Takes a 0x10-sized entry.
3 Takes a 0x10-sized entry and a bool/u8. Returns an 0x10-sized entry.
4 Takes a type-6 buffer, each entry being 24 bytes, 0x10-sized entry and a u32. Returns a u32.
5 Iterate Takes a type-6 buffer, each entry being 16 bytes, a 0x10-sized entry, and a u32. Returns a u32.
6 Takes a u64. Returns a 0x10-sized entry.
7
8
9
10
11
12
13
14
15 EndIteration
16
17
18
19