Add AM_FinishCiaInstallWithoutCommit and AM_CommitImportPrograms (#321)
* Add AM_FinishCiaInstallWithoutCommit and AM_CommitImportPrograms * Make the tids const * In the headers also
This commit is contained in:
parent
6e107a1aa5
commit
648ee46742
@ -203,6 +203,21 @@ Result AM_CancelCIAInstall(Handle ciaHandle);
|
|||||||
*/
|
*/
|
||||||
Result AM_FinishCiaInstall(Handle ciaHandle);
|
Result AM_FinishCiaInstall(Handle ciaHandle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Finalizes the CIA install process without committing the title to title.db or tmp*.db.
|
||||||
|
* @param ciaHandle CIA handle to finalize.
|
||||||
|
*/
|
||||||
|
Result AM_FinishCiaInstallWithoutCommit(Handle ciaHandle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Commits installed CIAs.
|
||||||
|
* @param mediaType Location of the titles to finalize.
|
||||||
|
* @param titleCount Number of titles to finalize.
|
||||||
|
* @param temp Whether the titles being finalized are in the temporary database.
|
||||||
|
* @param titleIds Title IDs to finalize.
|
||||||
|
*/
|
||||||
|
Result AM_CommitImportPrograms(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Deletes a title.
|
* @brief Deletes a title.
|
||||||
* @param mediatype Media type to delete from.
|
* @param mediatype Media type to delete from.
|
||||||
@ -381,7 +396,7 @@ Result AM_InstallTitleFinish();
|
|||||||
* @param temp Whether the titles being finalized are in the temporary database.
|
* @param temp Whether the titles being finalized are in the temporary database.
|
||||||
* @param titleIds Title IDs to finalize.
|
* @param titleIds Title IDs to finalize.
|
||||||
*/
|
*/
|
||||||
Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, u64* titleIds);
|
Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Begins installing a TMD.
|
* @brief Begins installing a TMD.
|
||||||
|
@ -343,6 +343,37 @@ Result AM_FinishCiaInstall(Handle ciaHandle)
|
|||||||
return (Result)cmdbuf[1];
|
return (Result)cmdbuf[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result AM_FinishCiaInstallWithoutCommit(Handle ciaHandle)
|
||||||
|
{
|
||||||
|
Result ret = 0;
|
||||||
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
|
cmdbuf[0] = IPC_MakeHeader(0x406,0,2); // 0x04060002
|
||||||
|
cmdbuf[1] = IPC_Desc_MoveHandles(1);
|
||||||
|
cmdbuf[2] = ciaHandle;
|
||||||
|
|
||||||
|
if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret;
|
||||||
|
|
||||||
|
return (Result)cmdbuf[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
Result AM_CommitImportPrograms(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds)
|
||||||
|
{
|
||||||
|
Result ret = 0;
|
||||||
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
|
cmdbuf[0] = IPC_MakeHeader(0x407,3,2); // 0x040700C2
|
||||||
|
cmdbuf[1] = mediaType;
|
||||||
|
cmdbuf[2] = titleCount;
|
||||||
|
cmdbuf[3] = temp ? 1 : 0;
|
||||||
|
cmdbuf[4] = IPC_Desc_Buffer(titleCount * 8, IPC_BUFFER_R);
|
||||||
|
cmdbuf[5] = (u32)titleIds;
|
||||||
|
|
||||||
|
if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret;
|
||||||
|
|
||||||
|
return (Result)cmdbuf[1];
|
||||||
|
}
|
||||||
|
|
||||||
Result AM_DeleteTitle(FS_MediaType mediatype, u64 titleID)
|
Result AM_DeleteTitle(FS_MediaType mediatype, u64 titleID)
|
||||||
{
|
{
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -748,7 +779,7 @@ Result AM_InstallTitleFinish()
|
|||||||
return (Result)cmdbuf[1];
|
return (Result)cmdbuf[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, u64* titleIds)
|
Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds)
|
||||||
{
|
{
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
Loading…
Reference in New Issue
Block a user