My Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
cfgu.c
Go to the documentation of this file.
1 #include <stdlib.h>
2 #include <3ds.h>
3 
4 static Handle CFGU_handle = 0;
5 
7 {
8  return srvGetServiceHandle(&CFGU_handle, "cfg:u");
9 }
10 
12 {
13  Result ret = svcCloseHandle(CFGU_handle);
14  CFGU_handle = 0;
15 
16  return ret;
17 }
18 
20 {
21  Result ret = 0;
22  u32 *cmdbuf = getThreadCommandBuffer();
23 
24  cmdbuf[0] = 0x00040000;
25 
26  if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
27 
28  *value = (u8)cmdbuf[2];
29 
30  return (Result)cmdbuf[1];
31 }
32 
34 {
35  Result ret = 0;
36  u32 *cmdbuf = getThreadCommandBuffer();
37 
38  cmdbuf[0] = 0x00050000;
39 
40  if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
41 
42  *model = (u8)cmdbuf[2];
43 
44  return (Result)cmdbuf[1];
45 }
46 
48 {
49  Result ret = 0;
50  u32 *cmdbuf = getThreadCommandBuffer();
51 
52  cmdbuf[0] = 0x00060000;
53 
54  if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
55 
56  *value = (u8)cmdbuf[2];
57 
58  return (Result)cmdbuf[1];
59 }
60 
62 {
63  Result ret = 0;
64  u32 *cmdbuf = getThreadCommandBuffer();
65 
66  cmdbuf[0] = 0x00090040;
67  cmdbuf[1] = (u32)code;
68 
69  if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
70 
71  *string = (u16)cmdbuf[2];
72 
73  return (Result)cmdbuf[1];
74 }
75 
77 {
78  Result ret = 0;
79  u32 *cmdbuf = getThreadCommandBuffer();
80 
81  cmdbuf[0] = 0x000A0040;
82  cmdbuf[1] = (u32)string;
83 
84  if((ret = svcSendSyncRequest(CFGU_handle))!=0)return ret;
85 
86  *code = (u16)cmdbuf[2];
87 
88  return (Result)cmdbuf[1];
89 }
s32 Result
Definition: types.h:42
s32 svcCloseHandle(Handle handle)
uint16_t u16
Definition: types.h:22
Result srvGetServiceHandle(Handle *out, const char *name)
Definition: srv.c:109
u32 Handle
Definition: types.h:41
u32 * getThreadCommandBuffer(void)
uint8_t u8
Definition: types.h:21
Result CFGU_GetCountryCodeString(u16 code, u16 *string)
Definition: cfgu.c:61
Result CFGU_GetSystemModel(u8 *model)
Definition: cfgu.c:33
Result CFGU_GetRegionCanadaUSA(u8 *value)
Definition: cfgu.c:19
uint32_t u32
Definition: types.h:23
s32 svcSendSyncRequest(Handle session)
Result CFGU_GetCountryCodeID(u16 string, u16 *code)
Definition: cfgu.c:76
Result exitCfgu()
Definition: cfgu.c:11
Result initCfgu()
Definition: cfgu.c:6
Result CFGU_GetModelNintendo2DS(u8 *value)
Definition: cfgu.c:47