]> Chaos Git - corbenik/ctrulib.git/commitdiff
various fixes
authorsmea <smealum@gmail.com>
Sat, 16 Aug 2014 21:48:05 +0000 (14:48 -0700)
committersmea <smealum@gmail.com>
Sat, 16 Aug 2014 21:48:05 +0000 (14:48 -0700)
12 files changed:
libctru/include/3ds/os.h
libctru/include/3ds/svc.h
libctru/source/services/apt.c
libctru/source/services/csnd.c
libctru/source/services/fs.c
libctru/source/services/gpu.c
libctru/source/services/gsp.c
libctru/source/services/gx.c
libctru/source/services/hid.c
libctru/source/services/shdr.c
libctru/source/services/soc.c
libctru/source/srv.c

index 1031222a66bcd65ad9a650452dfd12cae50e8a77..e807f64a4ce2594d304801bf3d5565d77b4acd16 100644 (file)
@@ -4,4 +4,3 @@
 u32 osConvertVirtToPhys(u32 vaddr);
 
 #endif
-
index 1ba4259745353e14e3085e8ab5fc3b7c2e47defb..58969ab299746a75e35de05834f639b284a57f36 100644 (file)
@@ -20,9 +20,12 @@ typedef enum {
 typedef enum {
     MEMPERM_READ   =1,
     MEMPERM_WRITE  =2,
-    MEMPERM_EXECUTE=4
+    MEMPERM_EXECUTE=4,
+    MEMPERM_MAX    =0xFFFFFFFF //force 4-byte
 } MemPerm;
 
+u32* getThreadCommandBuffer(void);
+
 s32  svcControlMemory(u32* addr_out, u32 addr0, u32 addr1, u32 size, MemOp op, MemPerm perm);
 void svcExitProcess();
 s32  svcCreateThread(Handle* thread, ThreadFunc entrypoint, u32 arg, u32* stack_top, s32 thread_priority, s32 processor_id);
index 9cdca30436fd92f77253df7474afae81a5912459..36b09516dd6fcc2ddd6271c28c2efbd1d703c28e 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/srv.h>
 #include <3ds/APT.h>
@@ -68,7 +69,7 @@ void aptInitCaptureInfo(u32 *ns_capinfo)
 
 void aptWaitStatusEvent()
 {
-       svcWaitSynchronization1(aptStatusEvent, U64_MAX);
+       svcWaitSynchronization(aptStatusEvent, U64_MAX);
        svcClearEvent(aptStatusEvent);
 }
 
@@ -377,7 +378,7 @@ void aptSetupEventHandler()
 APP_STATUS aptGetStatus()
 {
        APP_STATUS ret;
-       svcWaitSynchronization1(aptStatusMutex, U64_MAX);
+       svcWaitSynchronization(aptStatusMutex, U64_MAX);
        ret=aptStatus;
        svcReleaseMutex(aptStatusMutex);
        return ret;
@@ -387,7 +388,7 @@ void aptSetStatus(APP_STATUS status)
 {
        u32 prevstatus;
 
-       svcWaitSynchronization1(aptStatusMutex, U64_MAX);
+       svcWaitSynchronization(aptStatusMutex, U64_MAX);
 
        prevstatus = status;
        aptStatus = status;
@@ -404,7 +405,7 @@ void aptSetStatus(APP_STATUS status)
 u32 aptGetStatusPower()
 {
        u32 ret;
-       svcWaitSynchronization1(aptStatusMutex, U64_MAX);
+       svcWaitSynchronization(aptStatusMutex, U64_MAX);
        ret=aptStatusPower;
        svcReleaseMutex(aptStatusMutex);
        return ret;
@@ -412,14 +413,14 @@ u32 aptGetStatusPower()
 
 void aptSetStatusPower(u32 status)
 {
-       svcWaitSynchronization1(aptStatusMutex, U64_MAX);
+       svcWaitSynchronization(aptStatusMutex, U64_MAX);
        aptStatusPower = status;
        svcReleaseMutex(aptStatusMutex);
 }
 
 void aptOpenSession()
 {
-       svcWaitSynchronization1(aptLockHandle, U64_MAX);
+       svcWaitSynchronization(aptLockHandle, U64_MAX);
        srvGetServiceHandle(&aptuHandle, "APT:U");
 }
 
index c0e7c52ed10ec85bcd2b6309a22e7c32f46b8ac0..3663ab64edf29199ee931564ed92cb427020f2da 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/os.h>
 #include <3ds/svc.h>
index 8dc707374c93e06307373379f890120e705f5541..701553fff54d0c9824cc2217a1e1019a062cea24 100644 (file)
@@ -1,3 +1,4 @@
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/FS.h>
 #include <3ds/svc.h>
index e459eb4baff6605f1d991a8c0d928fcfd1edd62a..6515676df9afdf99601c3845a8b1159d9efbe97b 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/GSP.h>
 #include <3ds/GX.h>
index 50c1600c5676d72886de1494d8b7b7c1942acb95..95e724d9f86d98d96885ea529f56d13fb51a935c 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/GSP.h>
 #include <3ds/svc.h>
index d21af48104ae3f063565848947a378ea57345bde..617bb8bd4d5f3814d79ffc798816e0de5a0be91f 100644 (file)
@@ -36,10 +36,10 @@ Result GX_SetMemoryFill(u32* gxbuf, u32* buf0a, u32 buf0v, u32* buf0e, u16 width
        gxCommand[0]=0x01000102; //CommandID
        gxCommand[1]=(u32)buf0a; //buf0 address
        gxCommand[2]=buf0v; //buf0 value
-       gxCommand[3]=(u32*)buf0e; //buf0 end addr
+       gxCommand[3]=(u32)buf0e; //buf0 end addr
        gxCommand[4]=(u32)buf1a; //buf1 address
        gxCommand[5]=buf1v; //buf1 value
-       gxCommand[6]=(u32*)buf1e; //buf1 end addr
+       gxCommand[6]=(u32)buf1e; //buf1 end addr
        gxCommand[7]=(width0)|(width1<<16);
 
        return GSPGPU_submitGxCommand(gxbuf, gxCommand, NULL);
index 7d35e60e3d0adf6c8260daf41aa1d12c13cf94e6..bb2d43ffab23cf173657b6680e636aceef777114 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/HID.h>
 #include <3ds/srv.h>
@@ -18,7 +19,7 @@ Result hidInit(u32* sharedMem)
        
        if((ret=HIDUSER_GetInfo(NULL, &hidMemHandle)))return ret;
        hidSharedMem=sharedMem;
-       svcMapMemoryBlock(hidMemHandle, (u32)hidSharedMem, 0x1, 0x10000000);
+       svcMapMemoryBlock(hidMemHandle, (u32)hidSharedMem, MEMPERM_READ, 0x10000000);
 
        if((ret=HIDUSER_EnableAccelerometer(NULL)))return ret;
 
index a5e053f638a95b9a266ab77b758f8a1f59855e83..4183b660f0f1a25e096c8315162691c9498f7a4c 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/GSP.h>
 #include <3ds/GX.h>
index 2298537a6a0e37af8d5bff4b9d4eef49d2060f20..83d84583cae8f1bf83b5e57fd0cadbf42f9a7298 100644 (file)
@@ -9,6 +9,7 @@
 #include <fcntl.h>
 #include <stdarg.h>
 #include <errno.h>
+#include <string.h>
 
 Handle SOCU_handle = 0;
 static int SOCU_errno = 0;
index 4365b44483443a46015fefe8779f96af8be17740..2aedc094dde42dc6977562e511863cc0d3049212 100644 (file)
@@ -2,6 +2,7 @@
   srv.c _ Service manager.
 */
 
+#include <string.h>
 #include <3ds/types.h>
 #include <3ds/srv.h>
 #include <3ds/svc.h>
@@ -68,10 +69,9 @@ Result srvInit()
 {
     Result rc = 0;
 
-    if(rc = svcConnectToPort(&g_srv_handle, "srv:"))
-        return rc;
+    if((rc = svcConnectToPort(&g_srv_handle, "srv:")))return rc;
 
-    if(rc = srvRegisterClient()) {
+    if((rc = srvRegisterClient())) {
         svcCloseHandle(g_srv_handle);
         g_srv_handle = 0;
     }
@@ -81,8 +81,7 @@ Result srvInit()
 
 Result srvExit()
 {
-    if(g_srv_handle != 0)
-        svcCloseHandle(g_srv_handle);
+    if(g_srv_handle != 0)svcCloseHandle(g_srv_handle);
 
     g_srv_handle = 0;
     return 0;
@@ -95,8 +94,7 @@ Result srvRegisterClient()
     cmdbuf[1] = 0x20;
 
     Result rc;
-    if(rc = svcSendSyncRequest(g_srv_handle))
-        return rc;
+    if((rc = svcSendSyncRequest(g_srv_handle)))return rc;
 
     return cmdbuf[1];
 }
@@ -121,8 +119,7 @@ Result srvGetServiceHandle(Handle* out, char* name)
     cmdbuf[4] = 0x0;
 
     Result rc;
-    if(rc = svcSendSyncRequest(g_srv_handle))
-        return rc;
+    if((rc = svcSendSyncRequest(g_srv_handle)))return rc;
 
     *out = cmdbuf[3];
     return cmdbuf[1];