Line 232: |
Line 232: |
| |- | | |- |
| | 0x100100C0 | | | 0x100100C0 |
− | | [[AM:GetNumContentInfos|GetNumContentInfos]] | + | | [[AM:GetDLCContentInfoCount|GetDLCContentInfoCount]] |
| |- | | |- |
| | 0x10020104 | | | 0x10020104 |
− | | [[AM:FindContentInfos|FindContentInfos]] | + | | [[AM:FindDLCContentInfos|FindDLCContentInfos]] |
| |- | | |- |
| | 0x10030142 | | | 0x10030142 |
− | | [[AM:ListContentInfos|ListContentInfos]] | + | | [[AM:ListDLCContentInfos|ListDLCContentInfos]] |
| |- | | |- |
| | 0x10040102 | | | 0x10040102 |
Line 244: |
Line 244: |
| |- | | |- |
| | 0x10050084 | | | 0x10050084 |
− | | [[AM:GetDataTitleInfos|GetDataTitleInfos]] | + | | [[AM:GetDLCTitleInfos|GetDLCTitleInfos]] |
| |- | | |- |
| | 0x10060080 | | | 0x10060080 |
Line 270: |
Line 270: |
| | [[AM:GetPatchTitleInfos|GetPatchTitleInfos]] | | | [[AM:GetPatchTitleInfos|GetPatchTitleInfos]] |
| |} | | |} |
| + | |
| + | The only commands accessible with this service are listed under this section. |
| | | |
| = Application Manager service "am:sys" = | | = Application Manager service "am:sys" = |
| + | This service only has access to the 0x00XX* commands listed above, and the "am:app" commands. |
| | | |
| = Application Manager service "am:u" = | | = Application Manager service "am:u" = |
− |
| |
− | = Application Manager service "am:pipe" =
| |
− | = Application Manager network service "am:net" =
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Command Header
| |
− | ! Available since system-version
| |
− | ! Description
| |
− | |-
| |
− | | 0x0001....
| |
− | |
| |
− | | Stubbed. After validating the translate-paramater headers, this just returns error 0xE0C046F8.
| |
− | |-
| |
− | | 0x0401....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0801....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0802....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0803....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0804....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0805....
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x0806....
| |
− | |
| |
− | |
| |
− | |}
| |
− |
| |
− | There's no known retail titles which use this.
| |
− |
| |
− | For handling each command that's actually implemented, the AM cmdhandler function calls a vtable funcptr.
| |
| | | |
| = Application Manager network service "am:net" = | | = Application Manager network service "am:net" = |
Line 445: |
Line 403: |
| | 0x082800C0 | | | 0x082800C0 |
| | [[AMNet:BeginImportTitleForOverWrite|BeginImportTitleForOverWrite]] | | | [[AMNet:BeginImportTitleForOverWrite|BeginImportTitleForOverWrite]] |
| + | |- |
| + | | 0x08290184 |
| + | | [[AMNet:ExportTicketWrapped|ExportTicketWrapped]] |
| |} | | |} |
| | | |
Line 451: |
Line 412: |
| |- | | |- |
| ! Command Header | | ! Command Header |
| + | ! Available since system-version |
| ! Description | | ! Description |
| |- | | |- |
| + | | 0x0001.... |
| + | | |
| + | | Stubbed. After validating the translate-paramater headers, this just returns error 0xE0C046F8. |
| + | |- |
| + | | 0x0401.... |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x08010100 |
| + | | |
| + | | ? |
| |- | | |- |
| | 0x080200C2 | | | 0x080200C2 |
| + | | |
| | [[AMFile:Read|Read]] | | | [[AMFile:Read|Read]] |
| |- | | |- |
| | 0x08030102 | | | 0x08030102 |
| + | | |
| | [[AMFile:Write|Write]] | | | [[AMFile:Write|Write]] |
| |- | | |- |
| | 0x08040000 | | | 0x08040000 |
| + | | |
| | [[AMFile:GetSize|GetSize]] | | | [[AMFile:GetSize|GetSize]] |
| |- | | |- |
| | 0x08050080 | | | 0x08050080 |
| + | | |
| | [[AMFile:SetSize|SetSize]] | | | [[AMFile:SetSize|SetSize]] |
| + | |- |
| + | | 0x08060000 |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x08070000 |
| + | | |
| + | | ? |
| |- | | |- |
| | 0x08080000 | | | 0x08080000 |
| + | | |
| | [[AMFile:Close|Close]] | | | [[AMFile:Close|Close]] |
| + | |- |
| + | | 0x08090000 |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x080A0000 |
| + | | |
| + | | This just returns 0. |
| + | |- |
| + | | 0x080B0000 |
| + | | |
| + | | This just returns 0. |
| + | |- |
| + | | 0x080C0000 |
| + | | |
| + | | This just returns 0. |
| + | |} |
| + | |
| + | This is similar to [[Filesystem_services#File_service|FSFile]]. |
| + | |
| + | For handling each command that's actually implemented, the AM cmdhandler function calls a vtable funcptr. |
| + | |
| + | The private port for this seems to be referred to as "am:pipe", even though the "am:pipe" string isn't actually used. |
| + | |
| + | =Types= |
| + | ==TicketInfo== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | Title ID |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | Ticket ID |
| + | |- |
| + | | 0x10 |
| + | | 0x2 |
| + | | Version |
| + | |- |
| + | | 0x12 |
| + | | 0x2 |
| + | | Padding |
| + | |- |
| + | | 0x14 |
| + | | 0x4 |
| + | | Size |
| + | |} |
| + | |
| + | ==TitleInfo== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | Title ID |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | Size |
| + | |- |
| + | | 0x10 |
| + | | 0x2 |
| + | | Version |
| + | |- |
| + | | 0x12 |
| + | | 0x2 |
| + | | Padding |
| + | |- |
| + | | 0x14 |
| + | | 0x4 |
| + | | Type |
| + | |} |
| + | |
| + | ==ContentInfo== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x2 |
| + | | Index |
| + | |- |
| + | | 0x2 |
| + | | 0x2 |
| + | | Type |
| + | |- |
| + | | 0x4 |
| + | | 0x4 |
| + | | Content ID |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | Size |
| + | |- |
| + | | 0x10 |
| + | | 0x1 |
| + | | Bit 0: Downloaded, Bit 1: Owned |
| + | |- |
| + | | 0x11 |
| + | | 0x7 |
| + | | Padding |
| |} | | |} |
| | | |
− | These are identical to [[Filesystem_services#File_service|FSFile]].
| + | ==ImportTitleContext== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | Title ID |
| + | |- |
| + | | 0x8 |
| + | | 0x2 |
| + | | Version |
| + | |- |
| + | | 0xA |
| + | | 0x2 |
| + | | State |
| + | |- |
| + | | 0xC |
| + | | 0x4 |
| + | | Type |
| + | |- |
| + | | 0x10 |
| + | | 0x8 |
| + | | Size |
| + | |} |
| + | |
| + | ===ImportTitleContextState=== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | None |
| + | |- |
| + | | 1 |
| + | | Waiting for import |
| + | |- |
| + | | 2 |
| + | | Resumable |
| + | |- |
| + | | 3 |
| + | | Waiting for commit |
| + | |- |
| + | | 4 |
| + | | Already exists |
| + | |- |
| + | | 5 |
| + | | Deleting |
| + | |- |
| + | | 6 |
| + | | Needs cleanup |
| + | |} |
| + | |
| + | ==ImportContentContext== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x4 |
| + | | Content ID |
| + | |- |
| + | | 0x4 |
| + | | 0x2 |
| + | | Index |
| + | |- |
| + | | 0x6 |
| + | | 0x2 |
| + | | Type |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | Size |
| + | |- |
| + | | 0x10 |
| + | | 0x8 |
| + | | Current Install Offset |
| + | |} |
| | | |
| =Errors= | | =Errors= |
| See [[Application_Manager_Services_PXI|this]]. | | See [[Application_Manager_Services_PXI|this]]. |