From 487736c17218cb19967502d98cfe440c82ce1709 Mon Sep 17 00:00:00 2001 From: Pirater12 Date: Fri, 9 Mar 2018 14:57:29 +0530 Subject: [PATCH] Add NS_RebootSystem --- libctru/include/3ds/services/ns.h | 5 ++++- libctru/source/services/ns.c | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/libctru/include/3ds/services/ns.h b/libctru/include/3ds/services/ns.h index 5e787a3..1a40bf0 100644 --- a/libctru/include/3ds/services/ns.h +++ b/libctru/include/3ds/services/ns.h @@ -45,4 +45,7 @@ Result NS_RebootToTitle(u8 mediatype, u64 titleid); * @param titleid ID of the title to terminate. * @param timeout Timeout in nanoseconds. Pass 0 if not required. */ -Result NS_TerminateProcessTID(u64 titleid, u64 timeout); \ No newline at end of file +Result NS_TerminateProcessTID(u64 titleid, u64 timeout); + +/// Reboots the system +Result NS_RebootSystem(void); \ No newline at end of file diff --git a/libctru/source/services/ns.c b/libctru/source/services/ns.c index 29e607e..2a0c252 100644 --- a/libctru/source/services/ns.c +++ b/libctru/source/services/ns.c @@ -116,3 +116,15 @@ Result NS_TerminateProcessTID(u64 titleid, u64 timeout) return (Result)cmdbuf[1]; } + +Result NS_RebootSystem(void) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x16,0,0); // 0x160000 + + if(R_FAILED(ret = svcSendSyncRequest(nsHandle)))return ret; + + return (Result)cmdbuf[1]; +} \ No newline at end of file