NCM services: Difference between revisions
No edit summary |
|||
Line 93: | Line 93: | ||
==== RedirectApplicationControlPath ==== | ==== RedirectApplicationControlPath ==== | ||
Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type3|NCA-type3]]. | Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type3|NCA-type3]]. | ||
[9.0.0+] Now takes an additional 8-bytes of input. | |||
Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | ||
Line 98: | Line 100: | ||
==== RedirectApplicationHtmlDocumentPath ==== | ==== RedirectApplicationHtmlDocumentPath ==== | ||
Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type4|NCA-type4]]. | Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type4|NCA-type4]]. | ||
[9.0.0+] Now takes an additional 8-bytes of input. | |||
Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | ||
Line 106: | Line 110: | ||
==== RedirectApplicationLegalInformationPath ==== | ==== RedirectApplicationLegalInformationPath ==== | ||
Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type5|NCA-type5]]. | Takes an u64 '''TitleID''' and a X descriptor with a [[Filesystem_services#ContentPath|ContentPath]]. Used for [[NCA_Content_FS#NCA-type5|NCA-type5]]. | ||
[9.0.0+] Now takes an additional 8-bytes of input. | |||
Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | Inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | ||
Line 114: | Line 120: | ||
==== RedirectApplicationProgramPath ==== | ==== RedirectApplicationProgramPath ==== | ||
Same as [[#RedirectProgramPath|RedirectProgramPath]], but inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | Same as [[#RedirectProgramPath|RedirectProgramPath]], but inserts a new [[#Location_List_Entry|entry]] with '''flag''' set to 1. | ||
[9.0.0+] Now takes an additional 8-bytes of input. | |||
==== ClearApplicationRedirection ==== | ==== ClearApplicationRedirection ==== | ||
Takes no input. Frees all linked-lists' entries that have '''flag''' set to 1. | Takes no input. Frees all linked-lists' entries that have '''flag''' set to 1. | ||
[9.0.0+] Now takes a type-0x5 input buffer, no output. | |||
==== EraseProgramRedirection ==== | ==== EraseProgramRedirection ==== | ||
Line 150: | Line 160: | ||
==== RedirectApplicationProgramPathForDebug ==== | ==== RedirectApplicationProgramPathForDebug ==== | ||
Same as [[#RedirectApplicationProgramPath |RedirectApplicationProgramPath ]], but uses a redirection shim on top of the real program path. | Same as [[#RedirectApplicationProgramPath |RedirectApplicationProgramPath ]], but uses a redirection shim on top of the real program path. | ||
[9.0.0+] Like [[#RedirectApplicationProgramPath]] this now takes an additional 8-bytes of input. | |||
[[NS_Services|NS]] uses this command if [[System_Settings#ns.application|ns.application!redirected_rom_storage_id_for_debug]] is different than 0x00. | [[NS_Services|NS]] uses this command if [[System_Settings#ns.application|ns.application!redirected_rom_storage_id_for_debug]] is different than 0x00. | ||
Line 169: | Line 181: | ||
| 0 || ResolveProgramPath || u64 TitleID + C descriptor || Used for [[NCA_Content_FS#NCA-type1|NCA-type1]]. | | 0 || ResolveProgramPath || u64 TitleID + C descriptor || Used for [[NCA_Content_FS#NCA-type1|NCA-type1]]. | ||
|- | |- | ||
| 1 || RegisterProgramPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || Sets the Type 0 fallback TID and path to the provided arguments. | | 1 || RegisterProgramPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] [9.0.0+] Now takes an additional 8-bytes of input. || Sets the Type 0 fallback TID and path to the provided arguments. | ||
|- | |- | ||
| 2 || UnregisterProgramPath || u64 TitleID || If the Type 0 fallback TID is == argument TID, unregisters the fallback path. Otherwise, noop. | | 2 || UnregisterProgramPath || u64 TitleID || If the Type 0 fallback TID is == argument TID, unregisters the fallback path. Otherwise, noop. | ||
|- | |- | ||
| 3 || RedirectProgramPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || | | 3 || RedirectProgramPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] [9.0.0+] Now takes an additional 8-bytes of input. || | ||
|- | |- | ||
| 4 || [2.0.0+] ResolveHtmlDocumentPath || u64 TitleID + C descriptor || | | 4 || [2.0.0+] ResolveHtmlDocumentPath || u64 TitleID + C descriptor || | ||
|- | |- | ||
| 5 || [2.0.0+] RegisterHtmlDocumentPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || Sets the Type 1 fallback TID and path to the provided arguments. | | 5 || [2.0.0+] RegisterHtmlDocumentPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] [9.0.0+] Now takes an additional 8-bytes of input. || Sets the Type 1 fallback TID and path to the provided arguments. | ||
|- | |- | ||
| 6 || [2.0.0+] UnregisterHtmlDocumentPath || u64 TitleID || If the Type 1 fallback TID is == argument TID, unregisters the fallback path. Otherwise, noop. | | 6 || [2.0.0+] UnregisterHtmlDocumentPath || u64 TitleID || If the Type 1 fallback TID is == argument TID, unregisters the fallback path. Otherwise, noop. | ||
|- | |- | ||
| 7 || [2.0.0+] RedirectHtmlDocumentPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] || | | 7 || [2.0.0+] RedirectHtmlDocumentPath || u64 TitleID + X descriptor [[Filesystem_services#ContentPath|ContentPath]] [9.0.0+] Now takes an additional 8-bytes of input. || | ||
|- | |- | ||
| 8 || [7.0.0+] Refresh || No input/output. || | | 8 || [7.0.0+] Refresh || No input/output. || | ||
Line 197: | Line 209: | ||
| 0 || ResolveAddOnContentPath || u64 TitleID + C descriptor || | | 0 || ResolveAddOnContentPath || u64 TitleID + C descriptor || | ||
|- | |- | ||
| 1 || RegisterAddOnContentStorage || [[Filesystem_services#StorageId|StorageID]] + u64 TitleID || | | 1 || RegisterAddOnContentStorage || [[Filesystem_services#StorageId|StorageID]] + u64 TitleID [9.0.0+] Now takes an additional 8-bytes of input. || | ||
|- | |- | ||
| 2 || UnregisterAllAddOnContentPath || None || Clears all registered titles here. | | 2 || UnregisterAllAddOnContentPath || None || Clears all registered titles here. |