From 18190a023731f96bf8fb1f07ed163d688a6e0512 Mon Sep 17 00:00:00 2001 From: profi200 Date: Mon, 29 Dec 2014 23:31:15 +0100 Subject: [PATCH] Added more cfg:u cmds. --- libctru/include/3ds/services/cfgu.h | 2 ++ libctru/source/services/cfgu.c | 30 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/libctru/include/3ds/services/cfgu.h b/libctru/include/3ds/services/cfgu.h index 10c4178..aaafd26 100644 --- a/libctru/include/3ds/services/cfgu.h +++ b/libctru/include/3ds/services/cfgu.h @@ -3,6 +3,8 @@ Result initCfgu(void); Result exitCfgu(void); +Result CFGU_SecureInfoGetRegion(u8* region); +Result CFGU_GenHashConsoleUnique(u32 appIDSalt, u64* hash); Result CFGU_GetRegionCanadaUSA(u8* value); Result CFGU_GetSystemModel(u8* model); Result CFGU_GetModelNintendo2DS(u8* value); diff --git a/libctru/source/services/cfgu.c b/libctru/source/services/cfgu.c index e5e2556..a8bbc49 100644 --- a/libctru/source/services/cfgu.c +++ b/libctru/source/services/cfgu.c @@ -19,6 +19,36 @@ Result exitCfgu() return ret; } +Result CFGU_SecureInfoGetRegion(u8* region) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = 0x00020000; + + if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret; + + *region = (u8)cmdbuf[2]; + + return (Result)cmdbuf[1]; +} + +Result CFGU_GenHashConsoleUnique(u32 appIDSalt, u64* hash) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = 0x00030000; + cmdbuf[1] = appIDSalt; + + if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret; + + *hash = (u64)cmdbuf[2]; + *hash |= ((u64)cmdbuf[3])<<32; + + return (Result)cmdbuf[1]; +} + Result CFGU_GetRegionCanadaUSA(u8* value) { Result ret = 0;