Line 9: |
Line 9: |
| ! Cmd || Name || Arguments || Notes | | ! Cmd || Name || Arguments || Notes |
| |- | | |- |
− | | 0 || OpenLocationResolver || [[Filesystem_services#StorageId|StorageID]] || | + | | 0 || OpenLocationResolver || [[#StorageId|StorageID]] || |
| |- | | |- |
| | 1 || OpenRegisteredLocationResolver || None || | | | 1 || OpenRegisteredLocationResolver || None || |
| |- | | |- |
− | | 2 || RefreshLocationResolver || [[Filesystem_services#StorageId|StorageID]] || | + | | 2 || RefreshLocationResolver || [[#StorageId|StorageID]] || |
| |- | | |- |
| | 3 || [2.0.0+] OpenAddOnContentLocationResolver || None || | | | 3 || [2.0.0+] OpenAddOnContentLocationResolver || None || |
Line 68: |
Line 68: |
| |} | | |} |
| | | |
− | If the supplied [[Filesystem_services#StorageId|StorageID]] is 1 (Host), a different set of internal functions is used to handle these commands. In this more restricted set of functions, GetControlNcaPath is stubbed and only returns error 0x608. | + | If the supplied [[#StorageId|StorageID]] is 1 (Host), a different set of internal functions is used to handle these commands. In this more restricted set of functions, GetControlNcaPath is stubbed and only returns error 0x608. |
| | | |
| The Get* commands load the [[Filesystem_services|ContentPath]] from linked-lists' [[#Location_List_Entry|entries]] in memory using the input TitleID. When the command fails to find an entry for the specified TitleID, 0x408 is returned for GetProgramNcaPath and 0xA08 is returned for the rest. | | The Get* commands load the [[Filesystem_services|ContentPath]] from linked-lists' [[#Location_List_Entry|entries]] in memory using the input TitleID. When the command fails to find an entry for the specified TitleID, 0x408 is returned for GetProgramNcaPath and 0xA08 is returned for the rest. |
Line 209: |
Line 209: |
| | 0 || ResolveAddOnContentPath || u64 TitleID + C descriptor || | | | 0 || ResolveAddOnContentPath || u64 TitleID + C descriptor || |
| |- | | |- |
− | | 1 || RegisterAddOnContentStorage || [[Filesystem_services#StorageId|StorageID]] + u64 TitleID [9.0.0+] Now takes an additional u64 TitleID for the owner application. || | + | | 1 || RegisterAddOnContentStorage || [[#StorageId|StorageID]] + u64 TitleID [9.0.0+] Now takes an additional u64 TitleID for the owner application. || |
| |- | | |- |
| | 2 || UnregisterAllAddOnContentPath || None || Clears all registered titles here. | | | 2 || UnregisterAllAddOnContentPath || None || Clears all registered titles here. |
Line 252: |
Line 252: |
| ! Cmd || Name || Notes | | ! Cmd || Name || Notes |
| |- | | |- |
− | | 0 || CreateContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]]. | + | | 0 || CreateContentStorage || Takes a [[#StorageId|StorageID]]. |
| |- | | |- |
− | | 1 || CreateContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]]. | + | | 1 || CreateContentMetaDatabase || Takes a [[#StorageId|StorageID]]. |
| |- | | |- |
− | | 2 || VerifyContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]]. | + | | 2 || VerifyContentStorage || Takes a [[#StorageId|StorageID]]. |
| |- | | |- |
− | | 3 || VerifyContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]]. | + | | 3 || VerifyContentMetaDatabase || Takes a [[#StorageId|StorageID]]. |
| |- | | |- |
− | | 4 || OpenContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]], [2.0.0+] Only returns a storage if one has previously been opened globally via OpenIContentStorage. | + | | 4 || OpenContentStorage || Takes a [[#StorageId|StorageID]], [2.0.0+] Only returns a storage if one has previously been opened globally via OpenIContentStorage. |
| |- | | |- |
− | | 5 || OpenContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]], [2.0.0+] Only returns a storage if one has previously been opened globally via OpenIContentStorage. | + | | 5 || OpenContentMetaDatabase || Takes a [[#StorageId|StorageID]], [2.0.0+] Only returns a storage if one has previously been opened globally via OpenIContentStorage. |
| |- | | |- |
− | | 6 || [1.0.0] CloseContentStorageForcibly || Takes a [[Filesystem_services#StorageId|StorageID]]. Calls IContentStorage->CloseAndFlushStorage(). | + | | 6 || [1.0.0] CloseContentStorageForcibly || Takes a [[#StorageId|StorageID]]. Calls IContentStorage->CloseAndFlushStorage(). |
| |- | | |- |
− | | 7 || [1.0.0] CloseContentMetaDatabaseForcibly || Takes a [[Filesystem_services#StorageId|StorageID]]. Calls IContentMetaDatabase->CloseMetaDatabase(). | + | | 7 || [1.0.0] CloseContentMetaDatabaseForcibly || Takes a [[#StorageId|StorageID]]. Calls IContentMetaDatabase->CloseMetaDatabase(). |
| |- | | |- |
− | | 8 || CleanupContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]], and deletes the associated savedata. | + | | 8 || CleanupContentMetaDatabase || Takes a [[#StorageId|StorageID]], and deletes the associated savedata. |
| |- | | |- |
− | | 9 || [2.0.0+] ActivateContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]], and opens an IContentStorage for the StorageID to be gotten with GetIContentStorage. Note: Name is not official. | + | | 9 || [2.0.0+] ActivateContentStorage || Takes a [[#StorageId|StorageID]], and opens an IContentStorage for the StorageID to be gotten with GetIContentStorage. Note: Name is not official. |
| |- | | |- |
− | | 10 || [2.0.0+] InactivateContentStorage || Takes a [[Filesystem_services#StorageId|StorageID]], and closes the associated IContentStorage. Note: Name is not official. | + | | 10 || [2.0.0+] InactivateContentStorage || Takes a [[#StorageId|StorageID]], and closes the associated IContentStorage. Note: Name is not official. |
| |- | | |- |
− | | 11 || [2.0.0+] ActivateContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]], and opens an IContentMetaDatabase for the StorageID to be gotten with GetIContentMetaDatabase. Note: Name is not official. | + | | 11 || [2.0.0+] ActivateContentMetaDatabase || Takes a [[#StorageId|StorageID]], and opens an IContentMetaDatabase for the StorageID to be gotten with GetIContentMetaDatabase. Note: Name is not official. |
| |- | | |- |
− | | 12 || [2.0.0+] InactivateContentMetaDatabase || Takes a [[Filesystem_services#StorageId|StorageID]], and closes the associated IContentMetaDatabase. Note: Name is not official. | + | | 12 || [2.0.0+] InactivateContentMetaDatabase || Takes a [[#StorageId|StorageID]], and closes the associated IContentMetaDatabase. Note: Name is not official. |
| |- | | |- |
| | 13 || [9.0.0+] InvalidateRightsIdCache || | | | 13 || [9.0.0+] InvalidateRightsIdCache || |
Line 601: |
Line 601: |
| | 0x0 || 0x8 || titleID | | | 0x0 || 0x8 || titleID |
| |- | | |- |
− | | 0x8 || 0x1 || [[Filesystem_services#StorageId|storageID]] | + | | 0x8 || 0x1 || [[#StorageId|storageID]] |
| |- | | |- |
| | 0x9 || 0x7 || Padding | | | 0x9 || 0x7 || Padding |