]> Chaos Git - corbenik/ctrulib.git/commitdiff
Added more cfg:u functions
authorSubv <subv2112@gmail.com>
Sat, 22 Nov 2014 03:40:23 +0000 (22:40 -0500)
committerSubv <subv2112@gmail.com>
Sat, 22 Nov 2014 03:40:23 +0000 (22:40 -0500)
GetRegionCanadaUSA
GetModelNintendo2DS
GetCountryCodeString

libctru/include/3ds/services/cfgu.h
libctru/source/services/cfgu.c

index 9a9eefd9c4958a4690b9f463c15e24cfb5cd9cc7..036e7d24ebb94fc00f10d8a4d34cf1c827126904 100644 (file)
@@ -3,4 +3,8 @@
 Result initCfgu(void);
 Result exitCfgu(void);
 
+Result CFGU_GetRegionCanadaUSA(u8* value);
 Result CFGU_GetSystemModel(u8* model);
+Result CFGU_GetModelNintendo2DS(u8* value);
+Result CFGU_GetCountryCodeString(u16 code, u16* string);
+Result CFGU_GetCountryCodeID(u16 string, u16* code);
index 5b436077d7737a328d913ac1cc4e13db4645c009..14ac5c4f73c2840973d8ab265c8ab626ada16f2d 100644 (file)
@@ -16,6 +16,20 @@ Result exitCfgu()
     return ret;
 }
 
+Result CFGU_GetRegionCanadaUSA(u8* value)
+{
+    Result ret = 0;
+    u32 *cmdbuf = getThreadCommandBuffer();
+
+    cmdbuf[0] = 0x00040000;
+
+    if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
+
+    *value = (u8)cmdbuf[2];
+
+    return (Result)cmdbuf[1];
+}
+
 Result CFGU_GetSystemModel(u8* model)
 {
     Result ret = 0;
@@ -29,3 +43,47 @@ Result CFGU_GetSystemModel(u8* model)
 
     return (Result)cmdbuf[1];
 }
+
+Result CFGU_GetModelNintendo2DS(u8* value)
+{
+    Result ret = 0;
+    u32 *cmdbuf = getThreadCommandBuffer();
+
+    cmdbuf[0] = 0x00060000;
+
+    if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
+
+    *value = (u8)cmdbuf[2];
+
+    return (Result)cmdbuf[1];
+}
+
+Result CFGU_GetCountryCodeString(u16 code, u16* string)
+{
+    Result ret = 0;
+    u32 *cmdbuf = getThreadCommandBuffer();
+
+    cmdbuf[0] = 0x00090040;
+    cmdbuf[1] = (u32)code;
+
+    if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
+
+    *string = (u16)cmdbuf[2];
+
+    return (Result)cmdbuf[1];
+}
+
+Result CFGU_GetCountryCodeID(u16 string, u16* code)
+{
+    Result ret = 0;
+    u32 *cmdbuf = getThreadCommandBuffer();
+
+    cmdbuf[0] = 0x000A0040;
+    cmdbuf[1] = (u32)string;
+
+    if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
+
+    *code = (u16)cmdbuf[2];
+
+    return (Result)cmdbuf[1];
+}