Line 1: |
Line 1: |
| [[Category:Services]] | | [[Category:Services]] |
| | | |
− | = Application Manager services = | + | = Application Manager services "am:sys", "am:u", "am:net" = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 8: |
Line 8: |
| |- | | |- |
| | 0x00010040 | | | 0x00010040 |
− | | [[AMNet:TitleIDListGetTotal|TitleIDListGetTotal]] | + | | [[AM:GetNumPrograms|GetNumPrograms]] |
| |- | | |- |
| | 0x00020082 | | | 0x00020082 |
− | | [[AMNet:GetTitleIDList|GetTitleIDList]] | + | | [[AM:GetProgramList|GetProgramList]] |
| |- | | |- |
| | 0x00030084 | | | 0x00030084 |
− | | [[AMNet:ListTitles|ListTitles]] | + | | [[AM:GetProgramInfos|GetProgramInfos]] |
| + | |- |
| + | | 0x000400C0 |
| + | | [[AM:DeleteUserProgram|DeleteUserProgram]] |
| + | |- |
| + | | 0x000500C0 |
| + | | [[AM:GetProductCode|GetProductCode]] |
| + | |- |
| + | | 0x000600C0 |
| + | | [[AM:GetStorageId|GetStorageId]] |
| + | |- |
| + | | 0x00070080 |
| + | | [[AM:DeleteTicket|DeleteTicket]] |
| |- | | |- |
| | 0x00080000 | | | 0x00080000 |
− | | [[AMNet:TitleIDListGetTotal3|TitleIDListGetTotal3]] | + | | [[AM:GetNumTickets|GetNumTickets]] |
| |- | | |- |
| | 0x00090082 | | | 0x00090082 |
− | | [[AMNet:GetTitleIDList3|GetTitleIDList3]] | + | | [[AM:GetTicketList|GetTicketList]] |
| |- | | |- |
| | 0x000A0000 | | | 0x000A0000 |
− | | [[AMNet:GetDeviceID|GetDeviceID]] | + | | [[AM:GetDeviceId|GetDeviceId]] |
| + | |- |
| + | | 0x000B0040 |
| + | | [[AM:GetNumImportTitleContexts|GetNumImportTitleContexts]] |
| + | |- |
| + | | 0x000C0082 |
| + | | [[AM:GetImportTitleContextList|GetImportTitleContextList]] |
| |- | | |- |
| | 0x000D0084 | | | 0x000D0084 |
− | | [[AMNet:ListTitles2|ListTitles2]] | + | | [[AM:GetImportTitleContexts|GetImportTitleContexts]] |
| + | |- |
| + | | 0x000E00C0 |
| + | | [[AM:DeleteImportTitleContext|DeleteImportTitleContext]] |
| + | |- |
| + | | 0x000F00C0 |
| + | | [[AM:GetNumImportContentContexts|GetNumImportContentContexts]] |
| + | |- |
| + | | 0x00100102 |
| + | | [[AM:GetImportContentContextList|GetImportContentContextList]] |
| + | |- |
| + | | 0x00110104 |
| + | | [[AM:GetImportContentContexts|GetImportContentContexts]] |
| + | |- |
| + | | 0x00120102 |
| + | | [[AM:DeleteImportContentContexts|DeleteImportContentContexts]] |
| + | |- |
| + | | 0x00130040 |
| + | | [[AM:NeedsCleanup|NeedsCleanup]] |
| |- | | |- |
| | 0x00140040 | | | 0x00140040 |
− | | [[AMNet:FinishInstallToMedia|FinishInstallToMedia]] | + | | [[AM:DoCleanup|DoCleanup]] |
| + | |- |
| + | | 0x00150040 |
| + | | [[AM:DeleteAllImportContexts|DeleteAllImportContexts]] |
| + | |- |
| + | | 0x00160000 |
| + | | [[AM:DeleteAllTemporaryPrograms|DeleteAllTemporaryPrograms]] |
| + | |- |
| + | | 0x00170044 |
| + | | [[AM:ImportTwlBackupLegacy|ImportTwlBackupLegacy]] |
| + | |- |
| + | | 0x00180080 |
| + | | [[AM:InitializeTitleDatabase|InitializeTitleDatabase]] |
| |- | | |- |
| | 0x00190040 | | | 0x00190040 |
− | | [[AM:ReloadDBS|ReloadDBS]] | + | | [[AM:QueryAvailableTitleDatabase|QueryAvailableTitleDatabase]] |
| + | |- |
| + | | 0x001A00C0 |
| + | | [[AM:CalcTwlBackupSize|CalcTwlBackupSize]] |
| + | |- |
| + | | 0x001B0144 |
| + | | [[AM:ExportTwlBackup|ExportTwlBackup]] |
| + | |- |
| + | | 0x001C0084 |
| + | | [[AM:ImportTwlBackup|ImportTwlBackup]] |
| + | |- |
| + | | 0x001D0000 |
| + | | [[AM:DeleteAllTwlUserPrograms|DeleteAllTwlUserPrograms]] |
| + | |- |
| + | | 0x001E00C8 |
| + | | [[AM:ReadTwlBackupInfo|ReadTwlBackupInfo]] |
| + | |- |
| + | | 0x001F0040 |
| + | | [[AM:DeleteAllExpiredUserPrograms|DeleteAllExpiredUserPrograms]] |
| + | |- |
| + | | 0x00200000 |
| + | | [[AM:GetTwlArchiveResourceInfo|GetTwlArchiveResourceInfo]] |
| + | |- |
| + | | 0x00210042 |
| + | | [[AM:GetPersonalizedTicketInfoList|GetPersonalizedTicketInfoList]] |
| + | |- |
| + | | 0x00220080 |
| + | | [[AM:DeleteAllImportContextsFiltered|DeleteAllImportContextsFiltered]] |
| |- | | |- |
| | 0x00230080 | | | 0x00230080 |
− | | [[AMNet:TitleIDListGetTotal2|TitleIDListGetTotal2]] | + | | [[AM:GetNumImportTitleContextsFiltered|GetNumImportTitleContextsFiltered]] |
| |- | | |- |
| | 0x002400C2 | | | 0x002400C2 |
− | | [[AMNet:GetTitleIDList2|GetTitleIDList2]] | + | | [[AM:GetImportTitleContextListFiltered|GetImportTitleContextListFiltered]] |
| + | |- |
| + | | 0x002500C0 |
| + | | [[AM:CheckContentRights|CheckContentRights]] |
| + | |- |
| + | | 0x00260044 |
| + | | [[AM:GetTicketLimitInfos|GetTicketLimitInfos]] |
| + | |- |
| + | | 0x00270044 |
| + | | [[AM:GetDemoLaunchInfos|GetDemoLaunchInfos]] |
| + | |- |
| + | | 0x00280108 |
| + | | [[AM:ReadTwlBackupInfoEx|ReadTwlBackupInfoEx]] |
| + | |- |
| + | | 0x00290082 |
| + | | [[AM:DeleteUserProgramsAtomically|DeleteUserProgramsAtomically]] |
| + | |- |
| + | | 0x002A00C0 |
| + | | [[AM:GetNumExistingContentInfos|GetNumExistingContentInfos]] |
| + | |- |
| + | | 0x002B0142 |
| + | | [[AM:ListExistingContentInfos|ListExistingContentInfos]] |
| + | |- |
| + | | 0x002C0084 |
| + | | [[AM:GetProgramInfosIgnorePlatform|GetProgramInfosIgnorePlatform]] |
| + | |- |
| + | | 0x002D00C0 |
| + | | [[AM:CheckContentRightsIgnorePlatform|CheckContentRightsIgnorePlatform]] |
| |} | | |} |
| | | |
− | = Application Manager service "am:sys" = | + | = Application Manager services "am:u" and "am:net" = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 47: |
Line 149: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0x001B.... | + | | 0x04010080 |
− | | Wrapper for [[Application_Manager_Services_PXI|AMPXI]] command 0x004D0144. | + | | [[AM:UpdateFirmwareTo|UpdateFirmwareTo]] |
| + | |- |
| + | | 0x04020040 |
| + | | [[AM:BeginImportProgram|BeginImportProgram]] |
| + | |- |
| + | | 0x04030000 |
| + | | [[AM:BeginImportProgramTemporarily|BeginImportProgramTemporarily]] |
| + | |- |
| + | | 0x04040002 |
| + | | [[AM:CancelImportProgram|CancelImportProgram]] |
| + | |- |
| + | | 0x04050002 |
| + | | [[AM:EndImportProgram|EndImportProgram]] |
| + | |- |
| + | | 0x04060002 |
| + | | [[AM:EndImportProgramWithoutCommit|EndImportProgramWithoutCommit]] |
| + | |- |
| + | | 0x040700C2 |
| + | | [[AM:CommitImportPrograms|CommitImportPrograms]] |
| + | |- |
| + | | 0x04080042 |
| + | | [[AM:GetProgramInfoFromCia|GetProgramInfoFromCia]] |
| + | |- |
| + | | 0x04090004 |
| + | | [[AM:GetSystemMenuDataFromCia|GetSystemMenuDataFromCia]] |
| + | |- |
| + | | 0x040A0002 |
| + | | [[AM:GetDependencyListFromCia|GetDependencyListFromCia]] |
| + | |- |
| + | | 0x040B0002 |
| + | | [[AM:GetTransferSizeFromCia|GetTransferSizeFromCia]] |
| + | |- |
| + | | 0x040C0002 |
| + | | [[AM:GetCoreVersionFromCia|GetCoreVersionFromCia]] |
| + | |- |
| + | | 0x040D0042 |
| + | | [[AM:GetRequiredSizeFromCia|GetRequiredSizeFromCia]] |
| + | |- |
| + | | 0x040E00C2 |
| + | | [[AM:CommitImportProgramsAndUpdateFirmwareAuto|CommitImportProgramsAndUpdateFirmwareAuto]] |
| + | |- |
| + | | 0x040F0000 |
| + | | [[AM:UpdateFirmwareAuto|UpdateFirmwareAuto]] |
| + | |- |
| + | | 0x041000C0 |
| + | | [[AM:DeleteProgram|DeleteProgram]] |
| + | |- |
| + | | 0x04110044 |
| + | | [[AM:GetTwlProgramListForReboot|GetTwlProgramListForReboot]] |
| + | |- |
| + | | 0x04120000 |
| + | | [[AM:GetSystemUpdaterMutex|GetSystemUpdaterMutex]] |
| + | |- |
| + | | 0x04130002 |
| + | | [[AM:GetMetaSizeFromCia|GetMetaSizeFromCia]] |
| + | |- |
| + | | 0x04140044 |
| + | | [[AM:GetMetaDataFromCia|GetMetaDataFromCia]] |
| + | |- |
| + | | 0x04150080 |
| + | | [[AM:CheckDemoLaunchRights|CheckDemoLaunchRights]] |
| + | |- |
| + | | 0x041600C0 |
| + | | [[AM:GetInternalTitleLocationInfo|GetInternalTitleLocationInfo]] |
| + | |- |
| + | | 0x041700C0 |
| + | | [[AM:PerpetuateAgbSaveData|PerpetuateAgbSaveData]] |
| + | |- |
| + | | 0x04180040 |
| + | | [[AM:BeginImportProgramForOverWrite|BeginImportProgramForOverWrite]] |
| + | |- |
| + | | 0x04190000 |
| + | | [[AM:BeginImportSystemProgram|BeginImportSystemProgram]] |
| |} | | |} |
| | | |
− | = Application Manager service "am:u" = | + | = Application Manager service "am:app" = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 57: |
Line 231: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0x04010080 | + | | 0x100100C0 |
− | | [[AM:InstallFIRM|InstallFIRM]] | + | | [[AM:GetDLCContentInfoCount|GetDLCContentInfoCount]] |
| + | |- |
| + | | 0x10020104 |
| + | | [[AM:FindDLCContentInfos|FindDLCContentInfos]] |
| + | |- |
| + | | 0x10030142 |
| + | | [[AM:ListDLCContentInfos|ListDLCContentInfos]] |
| + | |- |
| + | | 0x10040102 |
| + | | [[AM:DeleteDLCContents|DeleteDLCContents]] |
| + | |- |
| + | | 0x10050084 |
| + | | [[AM:GetDLCTitleInfos|GetDLCTitleInfos]] |
| + | |- |
| + | | 0x10060080 |
| + | | [[AM:GetDLCOrLicenseNumTickets|GetDLCOrLicenseNumTickets]] |
| + | |- |
| + | | 0x10070102 |
| + | | [[AM:ListDLCOrLicenseTicketInfos|ListDLCOrLicenseTicketInfos]] |
| + | |- |
| + | | 0x100801C2 |
| + | | [[AM:GetDLCOrLicenseItemRights|GetDLCOrLicenseItemRights]] |
| + | |- |
| + | | 0x100900C0 |
| + | | [[AM:IsDLCTitleInUse|IsDLCTitleInUse]] |
| + | |- |
| + | | 0x100A0000 |
| + | | [[AM:ReloadSDTitleDatabase|ReloadSDTitleDatabase]] |
| + | |- |
| + | | 0x100B00C0 |
| + | | [[AM:GetNumDLCExistingContentInfos|GetNumDLCExistingContentInfos]] |
| + | |- |
| + | | 0x100C0142 |
| + | | [[AM:ListDLCExistingContentInfos|ListDLCExistingContentInfos]] |
| |- | | |- |
− | | 0x040F0000 | + | | 0x100D0084 |
− | | [[AM:InstallNATIVEFIRM|InstallNATIVEFIRM]] | + | | [[AM:GetPatchTitleInfos|GetPatchTitleInfos]] |
| |} | | |} |
| | | |
− | = Application Manager service "am:pipe" = | + | 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" = | | = Application Manager network service "am:net" = |
Line 71: |
Line 283: |
| ! Command Header | | ! Command Header |
| ! Description | | ! Description |
− | |-
| |
− | | 0x04010080
| |
− | | [[AM:InstallFIRM|InstallFIRM]]
| |
− | |-
| |
− | | 0x040F0000
| |
− | | [[AM:InstallNATIVEFIRM|InstallNATIVEFIRM]]
| |
− | |-
| |
− | | 0x04120000
| |
− | | Retrieves a handle?
| |
| |- | | |- |
| | 0x08010000 | | | 0x08010000 |
− | | [[AMNet:OpenTicket|OpenTicket]] | + | | [[AMNet:BeginImportTicket|BeginImportTicket]] |
| |- | | |- |
| | 0x08020002 | | | 0x08020002 |
− | | [[AMNet:TicketAbortInstall|TicketAbortInstall]] | + | | [[AMNet:CancelImportTicket|CancelImportTicket]] |
| |- | | |- |
| | 0x08030002 | | | 0x08030002 |
− | | [[AMNet:TicketFinalizeInstall|TicketFinalizeInstall]] | + | | [[AMNet:EndImportTicket|EndImportTicket]] |
| |- | | |- |
| | 0x08040100 | | | 0x08040100 |
− | | [[AMNet:InstallTitleBegin|InstallTitleBegin]] | + | | [[AMNet:BeginImportTitle|BeginImportTitle]] |
| |- | | |- |
| | 0x08050000 | | | 0x08050000 |
− | | [[AMNet:InstallTitleAbort|InstallTitleAbort]] | + | | [[AMNet:StopImportTitle|StopImportTitle]] |
| |- | | |- |
| | 0x080600C0 | | | 0x080600C0 |
− | | [[AMNet:InstallTitleResume|InstallTitleResume]] | + | | [[AMNet:ResumeImportTitle|ResumeImportTitle]] |
| |- | | |- |
| | 0x08070000 | | | 0x08070000 |
− | | [[AMNet:InstallTitleAbortTMD|InstallTitleAbortTMD]] | + | | [[AMNet:CancelImportTitle|CancelImportTitle]] |
| |- | | |- |
| | 0x08080000 | | | 0x08080000 |
− | | [[AMNet:InstallTitleFinish|InstallTitleFinish]] | + | | [[AMNet:EndImportTitle|EndImportTitle]] |
| + | |- |
| + | | 0x080900C2 |
| + | | [[AMNet:CommitImportTitles|CommitImportTitles]] |
| |- | | |- |
| | 0x080A0000 | | | 0x080A0000 |
− | | [[AMNet:OpenTMD|OpenTMD]] | + | | [[AMNet:BeginImportTmd|BeginImportTmd]] |
| |- | | |- |
| | 0x080B0002 | | | 0x080B0002 |
− | | [[AMNet:TMDAbortInstall|TMDAbortInstall]] | + | | [[AMNet:CancelImportTmd|CancelImportTmd]] |
| |- | | |- |
| | 0x080C0042 | | | 0x080C0042 |
− | | [[AMNet:TMDFinalizeInstall|TMDFinalizeInstall]] | + | | [[AMNet:EndImportTmd|EndImportTmd]] |
| + | |- |
| + | | 0x080D0042 |
| + | | [[AMNet:CreateImportContentContexts|CreateImportContentContexts]] |
| |- | | |- |
| | 0x080E0040 | | | 0x080E0040 |
− | | [[AMNet:OpenContentEncrypted|OpenContentCreate]] | + | | [[AMNet:BeginImportContent|BeginImportContent]] |
| |- | | |- |
| | 0x080F0002 | | | 0x080F0002 |
− | | [[AMNet:ContentAbortInstall|ContentAbortInstall]] | + | | [[AMNet:StopImportContent|StopImportContent]] |
| |- | | |- |
| | 0x08100040 | | | 0x08100040 |
− | | [[AMNet:OpenContentDisc|OpenContentResume]] | + | | [[AMNet:ResumeImportContent|ResumeImportContent]] |
| + | |- |
| + | | 0x08110002 |
| + | | [[AMNet:CancelImportContent|CancelImportContent]] |
| |- | | |- |
| | 0x08120002 | | | 0x08120002 |
− | | [[AMNet:ContentFinalizeInstall|ContentFinalizeInstall]] | + | | [[AMNet:EndImportContent|EndImportContent]] |
| |- | | |- |
| | 0x08130000 | | | 0x08130000 |
− | | [[AMNet:GetTotalContents|GetTotalContents]] | + | | [[AMNet:GetNumCurrentImportContentContexts|GetNumCurrentImportContentContexts]] |
| |- | | |- |
| | 0x08140042 | | | 0x08140042 |
− | | [[AMNet:GetContentIndexes|GetContentIndexes]] | + | | [[AMNet:GetCurrentImportContentContextList|GetCurrentImportContentContextList]] |
| |- | | |- |
| | 0x08150044 | | | 0x08150044 |
− | | [[AMNet:GetContentsInfo|GetContentsInfo]] | + | | [[AMNet:GetCurrentImportContentContexts|GetCurrentImportContentContexts]] |
| + | |- |
| + | | 0x08160146 |
| + | | [[AMNet:Sign|Sign]] |
| + | |- |
| + | | 0x08170146 |
| + | | [[AMNet:Verify|Verify]] |
| + | |- |
| + | | 0x08180042 |
| + | | [[AMNet:GetDeviceCert|GetDeviceCert]] |
| |- | | |- |
| | 0x08190108 | | | 0x08190108 |
− | | Tickets installation related? | + | | [[AMNet:ImportCertificates|ImportCertificates]] |
| + | |- |
| + | | 0x081A0042 |
| + | | [[AMNet:ImportCertificate|ImportCertificate]] |
| |- | | |- |
| | 0x081B00C2 | | | 0x081B00C2 |
− | | [[AMNet:InstallTitlesFinish|InstallTitlesFinish]] | + | | [[AMNet:CommitImportTitlesAndUpdateFirmwareAuto|CommitImportTitlesAndUpdateFirmwareAuto]] |
| + | |- |
| + | | 0x081C0100 |
| + | | [[AMNet:DeleteTicketId|DeleteTicketId]] |
| + | |- |
| + | | 0x081D0080 |
| + | | [[AMNet:GetNumTicketIds|GetNumTicketIds]] |
| + | |- |
| + | | 0x081E0102 |
| + | | [[AMNet:GetTicketIdList|GetTicketIdList]] |
| + | |- |
| + | | 0x081F0080 |
| + | | [[AMNet:GetNumTicketsOfProgram|GetNumTicketsOfProgram]] |
| + | |- |
| + | | 0x08200102 |
| + | | [[AMNet:ListTicketInfos|ListTicketInfos]] |
| + | |- |
| + | | 0x08210142 |
| + | | [[AMNet:ExportLicenseTicket|ExportLicenseTicket]] |
| + | |- |
| + | | 0x08220000 |
| + | | [[AMNet:GetNumCurrentContentInfos|GetNumCurrentContentInfos]] |
| + | |- |
| + | | 0x08230044 |
| + | | [[AMNet:FindCurrentContentInfos|FindCurrentContentInfos]] |
| + | |- |
| + | | 0x08240082 |
| + | | [[AMNet:ListCurrentContentInfos|ListCurrentContentInfos]] |
| + | |- |
| + | | 0x08250102 |
| + | | [[AMNet:CalculateContextRequiredSize|CalculateContextRequiredSize]] |
| + | |- |
| + | | 0x08260042 |
| + | | [[AMNet:UpdateImportContentContexts|UpdateImportContentContexts]] |
| + | |- |
| + | | 0x08270000 |
| + | | [[AMNet:DeleteAllDemoLaunchInfos|DeleteAllDemoLaunchInfos]] |
| + | |- |
| + | | 0x082800C0 |
| + | | [[AMNet:BeginImportTitleForOverWrite|BeginImportTitleForOverWrite]] |
| + | |- |
| + | | 0x08290184 |
| + | | [[AMNet:ExportTicketWrapped|ExportTicketWrapped]] |
| |} | | |} |
| | | |
Line 146: |
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. |
| + | |- |
| + | | 0x040100C4 |
| + | | |
| + | | [[AMFile:Control|Control]] |
| + | |- |
| + | | 0x08010100 |
| + | | |
| + | | [[AMFile:OpenSubFile|OpenSubFile]] |
| |- | | |- |
| | 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 |
| + | | |
| + | | [[AMFile:GetAttributes|GetAttributes]] |
| + | |- |
| + | | 0x08070000 |
| + | | |
| + | | [[AMFile:SetAttributes|SetAttributes]] |
| |- | | |- |
| | 0x08080000 | | | 0x08080000 |
| + | | |
| | [[AMFile:Close|Close]] | | | [[AMFile:Close|Close]] |
| + | |- |
| + | | 0x08090000 |
| + | | |
| + | | [[AMFile:Flush|Flush]] |
| + | |- |
| + | | 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 |
| + | | [[Title_metadata#Content_Type_flags|Content Type Flags]] from [[Title_metadata|TMD]] |
| + | |- |
| + | | 0x4 |
| + | | 0x4 |
| + | | Content ID |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | Size |
| + | |- |
| + | | 0x10 |
| + | | 0x1 |
| + | | Bit 0: Downloaded, Bit 1: Owned |
| + | |- |
| + | | 0x11 |
| + | | 0x7 |
| + | | Padding |
| + | |} |
| + | |
| + | ==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 |
| + | |} |
| + | |
| + | ==TwlBackupInfo== |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Length |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | Title ID |
| + | |- |
| + | | 0x8 |
| + | | 0x2 |
| + | | Group ID |
| + | |- |
| + | | 0xA |
| + | | 0x2 |
| + | | Title Version |
| + | |- |
| + | | 0xC |
| + | | 0x4 |
| + | | public.sav size |
| + | |- |
| + | | 0x10 |
| + | | 0x4 |
| + | | private.sav size |
| + | |- |
| + | | 0x14 |
| + | | 0x4 |
| + | | Unused, padding. |
| + | |- |
| + | | 0x18 |
| + | | 0x8 |
| + | | u64, required space in bytes for installation (aligned to 0x4000, used to show amount of blocks in system settings) |
| + | |- |
| |} | | |} |
| | | |
− | These are identical to [[Filesystem_services#File_service|FSFile]].
| + | =Errors= |
| + | See [[Application_Manager_Services_PXI|this]]. |