From 4336269518b795d63a335710d74cecf82ce7f976 Mon Sep 17 00:00:00 2001 From: Joel16 Date: Sat, 23 Sep 2017 10:29:41 -0500 Subject: [PATCH] More AM_Delete functions --- libctru/include/3ds/services/am.h | 9 ++++++++ libctru/source/services/am.c | 37 +++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/libctru/include/3ds/services/am.h b/libctru/include/3ds/services/am.h index 167a29f..5420096 100644 --- a/libctru/include/3ds/services/am.h +++ b/libctru/include/3ds/services/am.h @@ -488,3 +488,12 @@ Result AM_CommitImportTitlesAndUpdateFirmwareAuto(FS_MediaType mediaType, u32 ti /// Resets play count of all installed demos by deleting their launch info. Result AM_DeleteAllDemoLaunchInfos(void); + +/// Deletes temporary titles. +Result AM_DeleteAllTemporaryTitles(void); + +/// Deletes experied titles. +Result AM_DeleteAllExpiredTitles(void); + +/// Deletes all TWL titles. +Result AM_DeleteAllTwlTitles(void); \ No newline at end of file diff --git a/libctru/source/services/am.c b/libctru/source/services/am.c index ad6c50f..8d144fa 100644 --- a/libctru/source/services/am.c +++ b/libctru/source/services/am.c @@ -994,3 +994,40 @@ Result AM_DeleteAllDemoLaunchInfos(void) return (Result)cmdbuf[1]; } + +Result AM_DeleteAllTemporaryTitles(void) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x16,0,0); // 0x160000 + + if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result AM_DeleteAllExpiredTitles(FS_MediaType mediatype) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x1F,1,0); // 0x1F0040 + cmdbuf[1] = mediatype; + + if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result AM_DeleteAllTwlTitles(void) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x1D,0,0); // 0x1D0000 + + if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret; + + return (Result)cmdbuf[1]; +} \ No newline at end of file