Added ampxiInstallTitlesFinish.

This commit is contained in:
yellows8 2016-01-26 01:09:21 -05:00
parent c818410973
commit 173d258e30
2 changed files with 30 additions and 0 deletions

View File

@ -23,3 +23,13 @@ void ampxiExit(void);
* @param operation https://3dbrew.org/wiki/AM:ImportDSiWare * @param operation https://3dbrew.org/wiki/AM:ImportDSiWare
*/ */
Result ampxiWriteTWLSavedata(u64 titleid, u8 *buffer, u32 size, u32 image_filepos, u8 section_type, u8 operation); Result ampxiWriteTWLSavedata(u64 titleid, u8 *buffer, u32 size, u32 image_filepos, u8 section_type, u8 operation);
/**
* @brief Finalizes title installation. https://3dbrew.org/wiki/AMPXI:InstallTitlesFinish
* @param mediaType Mediatype of the titles to finalize.
* @param db Which title database to use.
* @param size Size of the savedata buffer.
* @param titlecount Total titles.
* @param tidlist List of titleIDs.
*/
Result ampxiInstallTitlesFinish(FS_MediaType mediaType, u8 db, u32 titlecount, u64 *tidlist);

View File

@ -4,6 +4,7 @@
#include <3ds/svc.h> #include <3ds/svc.h>
#include <3ds/srv.h> #include <3ds/srv.h>
#include <3ds/synchronization.h> #include <3ds/synchronization.h>
#include <3ds/services/fs.h>
#include <3ds/services/ampxi.h> #include <3ds/services/ampxi.h>
#include <3ds/ipc.h> #include <3ds/ipc.h>
@ -52,3 +53,22 @@ Result ampxiWriteTWLSavedata(u64 titleid, u8 *buffer, u32 size, u32 image_filepo
return (Result)cmdbuf[1]; return (Result)cmdbuf[1];
} }
Result ampxiInstallTitlesFinish(FS_MediaType mediaType, u8 db, u32 titlecount, u64 *tidlist)
{
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = IPC_MakeHeader(0x2A,3,2); // 0x2A00C2
cmdbuf[1] = mediaType;
cmdbuf[2] = titlecount;
cmdbuf[3] = db;
cmdbuf[4] = IPC_Desc_PXIBuffer(titlecount*8, 0, 0);
cmdbuf[5] = (u32)tidlist;
if(R_FAILED(ret = svcSendSyncRequest(ampxiHandle)))return ret;
return (Result)cmdbuf[1];
}