#include <3ds/svc.h>
#include <3ds/srv.h>
#include <3ds/services/pm.h>
+#include <3ds/ipc.h>
static Handle pmHandle;
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
- cmdbuf[0] = 0x00010140;
+ cmdbuf[0] = IPC_MakeHeader(0x1,5,0); // 0x10140
cmdbuf[1] = titleid & 0xffffffff;
cmdbuf[2] = (titleid >> 32) & 0xffffffff;
cmdbuf[3] = mediatype;
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
- cmdbuf[0] = 0x00080100;
+ cmdbuf[0] = IPC_MakeHeader(0x8,4,0); // 0x80100
cmdbuf[1] = titleid & 0xffffffff;
cmdbuf[2] = (titleid >> 32) & 0xffffffff;
cmdbuf[3] = mediatype;
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
- cmdbuf[0] = 0x00090042;
+ cmdbuf[0] = IPC_MakeHeader(0x9,1,2); // 0x90042
cmdbuf[1] = size;
- cmdbuf[2] = (size << 0x4) | 0xa;
+ cmdbuf[2] = IPC_Desc_Buffer(size,IPC_BUFFER_R);
cmdbuf[3] = (u32)in;
if((ret = svcSendSyncRequest(pmHandle))!=0)return ret;
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
- cmdbuf[0] = 0x00070042;
+ cmdbuf[0] = IPC_MakeHeader(0x7,1,2); // 0x70042
cmdbuf[1] = size;
- cmdbuf[2] = (size << 0x4) | 0xc;
+ cmdbuf[2] = IPC_Desc_Buffer(size,IPC_BUFFER_W);
cmdbuf[3] = (u32)out;
if((ret = svcSendSyncRequest(pmHandle))!=0)return ret;
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
- cmdbuf[0] = 0x00020082;
+ cmdbuf[0] = IPC_MakeHeader(0x2,2,2); // 0x20082
cmdbuf[1] = firm_titleid_low;
cmdbuf[2] = size;
- cmdbuf[3] = (size << 0x4) | 0xa;
+ cmdbuf[3] = IPC_Desc_Buffer(size,IPC_BUFFER_R);
cmdbuf[4] = (u32)in;
if((ret = svcSendSyncRequest(pmHandle))!=0)return ret;