diff --git a/libctru/source/services/hb.c b/libctru/source/services/hb.c index 7ef8f1e..6c1efc2 100644 --- a/libctru/source/services/hb.c +++ b/libctru/source/services/hb.c @@ -2,6 +2,7 @@ #include <3ds/svc.h> #include <3ds/srv.h> #include <3ds/services/hb.h> +#include <3ds/ipc.h> static Handle hbHandle; @@ -20,9 +21,9 @@ Result HB_FlushInvalidateCache(void) Result ret = 0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00010042; + cmdbuf[0] = IPC_MakeHeader(0x1,1,2); // 0x10042 cmdbuf[1] = 0x00000000; - cmdbuf[2] = 0x00000000; + cmdbuf[2] = IPC_Desc_SharedHandles(1); cmdbuf[3] = CUR_PROCESS_HANDLE; if((ret = svcSendSyncRequest(hbHandle))!=0) return ret; @@ -35,7 +36,7 @@ Result HB_GetBootloaderAddresses(void** load3dsx, void** setArgv) Result ret = 0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00060000; + cmdbuf[0] = IPC_MakeHeader(0x6,0,0); // 0x60000 if((ret = svcSendSyncRequest(hbHandle))!=0) return ret; @@ -50,7 +51,7 @@ Result HB_ReprotectMemory(u32* addr, u32 pages, u32 mode, u32* reprotectedPages) Result ret = 0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x000900C0; + cmdbuf[0] = IPC_MakeHeader(0x9,3,0); // 0x900C0 cmdbuf[1] = (u32)addr; cmdbuf[2] = pages; cmdbuf[3] = mode;