diff --git a/libctru/include/3ds/svc.h b/libctru/include/3ds/svc.h index 733db1a..ab0230c 100644 --- a/libctru/include/3ds/svc.h +++ b/libctru/include/3ds/svc.h @@ -86,4 +86,5 @@ s32 svcGetProcessInfo(s64* out, Handle process, u32 type); s32 svcConnectToPort(volatile Handle* out, const char* portName); s32 svcSendSyncRequest(Handle session); s32 svcGetProcessId(u32 *out, Handle handle); +s32 svcGetThreadId(u32 *out, Handle handle); s32 svcOutputDebugString(const char* str, int length); diff --git a/libctru/source/svc.s b/libctru/source/svc.s index 3fac109..ded970f 100644 --- a/libctru/source/svc.s +++ b/libctru/source/svc.s @@ -281,4 +281,13 @@ svcReleaseSemaphore: svc 0x16 pop {r3} str r1, [r3] - bx lr \ No newline at end of file + bx lr + +.global svcGetThreadId +.type svcGetThreadId, %function +svcGetThreadId: + str r0, [sp,#-0x4]! + svc 0x37 + ldr r3, [sp], #4 + str r1, [r3] + bx lr