APT : glanceparameter/receiveparameter
This commit is contained in:
parent
d09a8f2e83
commit
021911976f
@ -14,6 +14,8 @@ Result APT_Enable(Handle handle, u32 a);
|
|||||||
Result APT_PrepareToJumpToHomeMenu(Handle handle);
|
Result APT_PrepareToJumpToHomeMenu(Handle handle);
|
||||||
Result APT_JumpToHomeMenu(Handle handle, u32 a, u32 b, u32 c);
|
Result APT_JumpToHomeMenu(Handle handle, u32 a, u32 b, u32 c);
|
||||||
Result APT_InquireNotification(Handle handle, u32 appID, u8* signalType);
|
Result APT_InquireNotification(Handle handle, u32 appID, u8* signalType);
|
||||||
Result APT_NotifyToWait(Handle handle, u32 a);
|
Result APT_NotifyToWait(Handle handle, NS_APPID appID);
|
||||||
|
Result APT_GlanceParameter(Handle handle, NS_APPID appID, u32 bufferSize, u32* buffer, u32* actualSize);
|
||||||
|
Result APT_ReceiveParameter(Handle handle, NS_APPID appID, u32 bufferSize, u32* buffer, u32* actualSize);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,14 +87,50 @@ Result APT_JumpToHomeMenu(Handle handle, u32 a, u32 b, u32 c)
|
|||||||
return cmdbuf[1];
|
return cmdbuf[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
Result APT_NotifyToWait(Handle handle, u32 a)
|
Result APT_NotifyToWait(Handle handle, NS_APPID appID)
|
||||||
{
|
{
|
||||||
u32* cmdbuf=getThreadCommandBuffer();
|
u32* cmdbuf=getThreadCommandBuffer();
|
||||||
cmdbuf[0]=0x430040; //request header code
|
cmdbuf[0]=0x430040; //request header code
|
||||||
cmdbuf[1]=a;
|
cmdbuf[1]=appID;
|
||||||
|
|
||||||
Result ret=0;
|
Result ret=0;
|
||||||
if((ret=svc_sendSyncRequest(handle)))return ret;
|
if((ret=svc_sendSyncRequest(handle)))return ret;
|
||||||
|
|
||||||
return cmdbuf[1];
|
return cmdbuf[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result APT_GlanceParameter(Handle handle, NS_APPID appID, u32 bufferSize, u32* buffer, u32* actualSize)
|
||||||
|
{
|
||||||
|
u32* cmdbuf=getThreadCommandBuffer();
|
||||||
|
cmdbuf[0]=0xE0080; //request header code
|
||||||
|
cmdbuf[1]=appID;
|
||||||
|
cmdbuf[2]=bufferSize;
|
||||||
|
|
||||||
|
cmdbuf[0+0x100/4]=(bufferSize<<14)|2;
|
||||||
|
cmdbuf[1+0x100/4]=(u32)buffer;
|
||||||
|
|
||||||
|
Result ret=0;
|
||||||
|
if((ret=svc_sendSyncRequest(handle)))return ret;
|
||||||
|
|
||||||
|
if(actualSize)*actualSize=cmdbuf[4];
|
||||||
|
|
||||||
|
return cmdbuf[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
Result APT_ReceiveParameter(Handle handle, NS_APPID appID, u32 bufferSize, u32* buffer, u32* actualSize)
|
||||||
|
{
|
||||||
|
u32* cmdbuf=getThreadCommandBuffer();
|
||||||
|
cmdbuf[0]=0xD0080; //request header code
|
||||||
|
cmdbuf[1]=appID;
|
||||||
|
cmdbuf[2]=bufferSize;
|
||||||
|
|
||||||
|
cmdbuf[0+0x100/4]=(bufferSize<<14)|2;
|
||||||
|
cmdbuf[1+0x100/4]=(u32)buffer;
|
||||||
|
|
||||||
|
Result ret=0;
|
||||||
|
if((ret=svc_sendSyncRequest(handle)))return ret;
|
||||||
|
|
||||||
|
if(actualSize)*actualSize=cmdbuf[4];
|
||||||
|
|
||||||
|
return cmdbuf[1];
|
||||||
|
}
|
||||||
|
@ -87,13 +87,13 @@ svc_waitSynchronization1:
|
|||||||
.global svc_waitSynchronizationN
|
.global svc_waitSynchronizationN
|
||||||
.type svc_waitSynchronizationN, %function
|
.type svc_waitSynchronizationN, %function
|
||||||
svc_waitSynchronizationN:
|
svc_waitSynchronizationN:
|
||||||
stmfd sp!, {r5}
|
str r5, [sp, #-4]!
|
||||||
mov r5, r0
|
mov r5, r0
|
||||||
ldr r0, [sp, #0x4]
|
ldr r0, [sp, #0x4]
|
||||||
ldr r4, [sp, #0x4+0x4]
|
ldr r4, [sp, #0x4+0x4]
|
||||||
svc 0x25
|
svc 0x25
|
||||||
str r1, [r5]
|
str r1, [r5]
|
||||||
ldmfd sp!, {r5}
|
ldr r5, [sp], #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svc_connectToPort
|
.global svc_connectToPort
|
||||||
|
Loading…
Reference in New Issue
Block a user