NCM services: Difference between revisions
Updating names |
|||
Line 7: | Line 7: | ||
! Cmd || Name || Arguments || Notes | ! Cmd || Name || Arguments || Notes | ||
|- | |- | ||
| 0 || | | 0 || GetLocationResolver || [[Filesystem_services#StorageId|StorageID]] || | ||
|- | |- | ||
| 1 || | | 1 || GetRegisteredLocationResolver || None || | ||
|- | |- | ||
| 2 || CheckStorage || [[Filesystem_services#StorageId|StorageID]] || | | 2 || CheckStorage || [[Filesystem_services#StorageId|StorageID]] || | ||
|- | |- | ||
| 3 || | | 3 || GetAddOnContentLocationResolver || None || | ||
|} | |} | ||
Line 39: | Line 39: | ||
| 8 || SetInfoHtmlNcaPath || u64 TID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || Used for [[NCA_Content_FS#NCA-type5|NCA-type5]]. | | 8 || SetInfoHtmlNcaPath || u64 TID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || Used for [[NCA_Content_FS#NCA-type5|NCA-type5]]. | ||
|- | |- | ||
| 9 || | | 9 || ClearLocationResolver || None || Clears all NCA paths set. | ||
|} | |} | ||
These get-commands load the [[Filesystem_services|ContentPath]] from linked-lists in memory using the input titleID. The set-commands add a new entry to the list, if a matching entry is found it's removed first. | These get-commands load the [[Filesystem_services|ContentPath]] from linked-lists in memory using the input titleID. The set-commands add a new entry to the list, if a matching entry is found it's removed first. ClearLocationResolver frees all entries in all of these linked-lists. The ContentPath is only used with memcpy() here with size=0x300, nothing more. | ||
The set commands always return 0. When the get-commands fail to find an entry for the specified titleID, 0x408 is returned for GetProgramNcaPath, while the rest of the commands return 0xA08. | The set commands always return 0. When the get-commands fail to find an entry for the specified titleID, 0x408 is returned for GetProgramNcaPath, while the rest of the commands return 0xA08. | ||
Line 73: | Line 73: | ||
! Cmd || Name || Arguments || Notes | ! Cmd || Name || Arguments || Notes | ||
|- | |- | ||
| 0 || | | 0 || GetAddOnContentNcaPath || u64 TID + C descriptor || | ||
|- | |- | ||
| 1 || | | 1 || RegisterAddOnContent || [[Filesystem_services#StorageId|StorageID]] + u64 TID || | ||
|- | |- | ||
| 2 || | | 2 || ClearAddOnContentLocationResolver || None || Clears all registered titles here. | ||
|} | |} | ||
Line 94: | Line 94: | ||
| 3 || || | | 3 || || | ||
|- | |- | ||
| 4 || GetIContentStorage || | | 4 || GetIContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]]. | ||
|- | |- | ||
| 5 || GetIContentMetaDatabase || | | 5 || GetIContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]]. | ||
|- | |- | ||
| 8 || || | | 8 || || | ||
Line 130: | Line 130: | ||
| 6 || DeleteContent? || Takes a 0x10-sized entry. | | 6 || DeleteContent? || Takes a 0x10-sized entry. | ||
|- | |- | ||
| 7 || IsNcaEntryValid || Takes a 0x10-sized entry, returns a bool | | 7 || IsNcaEntryValid || Takes a 0x10-sized entry, returns a bool. | ||
|- | |- | ||
| 8 || MakeNcaRegisteredPath || Takes a type-0x1A string and a 0x10-sized entry. | | 8 || MakeNcaRegisteredPath || Takes a type-0x1A string and a 0x10-sized entry. | ||
Line 230: | Line 230: | ||
| 2 || || Takes a 0x10-sized entry. | | 2 || || Takes a 0x10-sized entry. | ||
|- | |- | ||
| 3 || || Takes a | | 3 || UpdateContentEntry || Takes a [[NCA#Meta_records|meta record entry]] and a u8. Returns a [[NcaID]]. | ||
|- | |- | ||
| 4 || || Takes a type-6 buffer, each entry being 24 bytes, 0x10-sized entry and a u32. Returns a u32. | | 4 || || Takes a type-6 buffer, each entry being 24 bytes, 0x10-sized entry and a u32. Returns a u32. |