From 24c53bc91414478a77a6acca243f39f5a3d7bb38 Mon Sep 17 00:00:00 2001 From: Pirater12 Date: Wed, 17 Jan 2018 22:44:08 +0530 Subject: [PATCH] Add NS_TerminateTitle --- libctru/include/3ds/services/ns.h | 2 ++ libctru/source/services/ns.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/libctru/include/3ds/services/ns.h b/libctru/include/3ds/services/ns.h index 4f11036..5e787a3 100644 --- a/libctru/include/3ds/services/ns.h +++ b/libctru/include/3ds/services/ns.h @@ -24,6 +24,8 @@ Result NS_LaunchFIRM(u64 titleid); */ Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid); +/// Terminates the application from which this function is called +Result NS_TerminateTitle(void); /** * @brief Launches a title and the required firmware. * @param titleid ID of the title to launch, 0 for gamecard. diff --git a/libctru/source/services/ns.c b/libctru/source/services/ns.c index 11ddf39..29e607e 100644 --- a/libctru/source/services/ns.c +++ b/libctru/source/services/ns.c @@ -56,6 +56,18 @@ Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid) return (Result)cmdbuf[1]; } +Result NS_TerminateTitle(void) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x3,0,0); // 0x30000 + + if(R_FAILED(ret = svcSendSyncRequest(nsHandle)))return ret; + + return (Result)cmdbuf[1]; +} + Result NS_LaunchApplicationFIRM(u64 titleid, u32 flags) { Result ret = 0;