]> Chaos Git - corbenik/ctrulib.git/commitdiff
Added functions for sysCore usage
authorprofi200 <fd3194@gmx.de>
Mon, 1 Sep 2014 13:49:32 +0000 (15:49 +0200)
committerprofi200 <fd3194@gmx.de>
Mon, 1 Sep 2014 13:49:32 +0000 (15:49 +0200)
libctru/include/3ds/services/apt.h
libctru/source/services/apt.c

index 1a1e644f8947d489f937ab6149769c054188122a..9377c0ba1234bee38dae39776dcc79570dfab316 100644 (file)
@@ -67,3 +67,5 @@ Result APT_ReplySleepQuery(Handle* handle, NS_APPID appID, u32 a);
 Result APT_ReplySleepNotificationComplete(Handle* handle, NS_APPID appID);
 Result APT_PrepareToCloseApplication(Handle* handle, u8 a);
 Result APT_CloseApplication(Handle* handle, u32 a, u32 b, u32 c);
+Result APT_SetAppCpuTimeLimit(Handle* handle, u32 percent);
+Result APT_GetAppCpuTimeLimit(Handle* handle, u32 *percent);
index bda13b6396059b3ba7f561ca191bb363b3a2ee66..d2f65d90696c187af4dbbcd7ccc600aad27073a2 100644 (file)
@@ -743,3 +743,35 @@ Result APT_CloseApplication(Handle* handle, u32 a, u32 b, u32 c)
 
        return cmdbuf[1];
 }
+
+//See http://3dbrew.org/APT:SetApplicationCpuTimeLimit
+Result APT_SetAppCpuTimeLimit(Handle* handle, u32 percent)
+{
+       if(!handle)handle=&aptuHandle;
+
+       u32* cmdbuf=getThreadCommandBuffer();
+       cmdbuf[0]=0x4F0080;
+       cmdbuf[1]=1;
+       cmdbuf[2]=percent;
+       
+       Result ret=0;
+       if((ret=svcSendSyncRequest(*handle)))return ret;
+
+       return cmdbuf[1];
+}
+
+Result APT_GetAppCpuTimeLimit(Handle* handle, u32 *percent)
+{
+       if(!handle)handle=&aptuHandle;
+
+       u32* cmdbuf=getThreadCommandBuffer();
+       cmdbuf[0]=0x500040;
+       cmdbuf[1]=1;
+       
+       Result ret=0;
+       if((ret=svcSendSyncRequest(*handle)))return ret;
+
+       if(percent)*percent=cmdbuf[2];
+
+       return cmdbuf[1];
+}