Application Manager Services: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Steveice10 (talk | contribs) mNo edit summary |
||
| Line 474: | Line 474: | ||
The private port for this seems to be referred to as "am:pipe", even though the "am:pipe" string isn't actually used. | 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 | |||
| 0x8 | |||
| ? | |||
|} | |||
==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]]. | ||
Revision as of 20:25, 9 July 2016
Application Manager services "am:sys", "am:u", "am:net"
Application Manager services "am:u" and "am:net"
| Command Header | Description |
|---|---|
| 0x04010080 | UpdateFirmwareTo |
| 0x04020040 | BeginImportProgram |
| 0x04030000 | BeginImportProgramTemporarily |
| 0x04040002 | CancelImportProgram |
| 0x04050002 | EndImportProgram |
| 0x04060002 | EndImportProgramWithoutCommit |
| 0x040700C2 | CommitImportPrograms |
| 0x04080042 | GetProgramInfoFromCia |
| 0x04090004 | GetSystemMenuDataFromCia |
| 0x040A0002 | GetDependencyListFromCia |
| 0x040B0002 | GetTransferSizeFromCia |
| 0x040C0002 | GetCoreVersionFromCia |
| 0x040D0042 | GetRequiredSizeFromCia |
| 0x040E00C2 | CommitImportProgramsAndUpdateFirmwareAuto |
| 0x040F0000 | UpdateFirmwareAuto |
| 0x041000C0 | DeleteProgram |
| 0x04110044 | GetTwlProgramListForReboot |
| 0x04120000 | GetSystemUpdaterMutex |
| 0x04130002 | GetMetaSizeFromCia |
| 0x04140044 | GetMetaDataFromCia |
| 0x04150080 | CheckDemoLaunchRights |
| 0x041600C0 | GetInternalTitleLocationInfo |
| 0x041700C0 | PerpetuateAgbSaveData |
| 0x04180040 | BeginImportProgramForOverWrite |
| 0x04190000 | BeginImportSystemProgram |
Application Manager service "am:app"
| Command Header | Description |
|---|---|
| 0x100100C0 | GetNumContentInfos |
| 0x10020104 | FindContentInfos |
| 0x10030142 | ListContentInfos |
| 0x10040102 | DeleteContents |
| 0x10050084 | GetDataTitleInfos |
| 0x10060080 | GetNumDataTitleTickets |
| 0x10070102 | ListDataTitleTicketInfos |
| 0x100801C2 | GetItemRights |
| 0x100900C0 | IsDataTitleInUse |
| 0x100A0000 | IsExternalTitleDatabaseInitialized |
| 0x100B00C0 | GetNumExistingContentInfos |
| 0x100C0142 | ListExistingContentInfos |
| 0x100D0084 | GetPatchTitleInfos |
The only commands accessible with this service are listed under this section.
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 network service "am:net"
File service
| Command Header | Available since system-version | Description |
|---|---|---|
| 0x0001.... | Stubbed. After validating the translate-paramater headers, this just returns error 0xE0C046F8. | |
| 0x0401.... | ? | |
| 0x08010100 | ? | |
| 0x080200C2 | Read | |
| 0x08030102 | Write | |
| 0x08040000 | GetSize | |
| 0x08050080 | SetSize | |
| 0x08060000 | ? | |
| 0x08070000 | ? | |
| 0x08080000 | Close | |
| 0x08090000 | ? | |
| 0x080A0000 | This just returns 0. | |
| 0x080B0000 | This just returns 0. | |
| 0x080C0000 | This just returns 0. |
This is similar to 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
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x8 | Title ID |
| 0x8 | 0x8 | Ticket ID |
| 0x10 | 0x2 | Version |
| 0x12 | 0x2 | Padding |
| 0x14 | 0x4 | Size |
TitleInfo
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x8 | Title ID |
| 0x8 | 0x8 | Size |
| 0x10 | 0x2 | Version |
| 0x12 | 0x2 | Padding |
| 0x14 | 0x4 | Type |
ContentInfo
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x2 | Index |
| 0x2 | 0x2 | Type |
| 0x4 | 0x4 | Content ID |
| 0x8 | 0x8 | Size |
| 0x10 | 0x8 | ? |
ImportTitleContext
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x8 | Title ID |
| 0x8 | 0x2 | Version |
| 0xA | 0x2 | State |
| 0xC | 0x4 | Type |
| 0x10 | 0x8 | Size |
ImportTitleContextState
| Value | Description |
|---|---|
| 0 | None |
| 1 | Waiting for import |
| 2 | Resumable |
| 3 | Waiting for commit |
| 4 | Already exists |
| 5 | Deleting |
| 6 | Needs cleanup |
ImportContentContext
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x4 | Content ID |
| 0x4 | 0x2 | Index |
| 0x6 | 0x2 | Type |
| 0x8 | 0x8 | Size |
| 0x10 | 0x8 | Current Install Offset |
Errors
See this.