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