From e6e6363c842a61144b532ba0f60ff4e8d3041528 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Sun, 27 Sep 2026 16:21:25 -0400 Subject: [PATCH] svc/gpio: add remaining 23.0.0 additions - svc: DebugThreadParam_Unknown5, ProcessInfoType_Unknown1 - gpio: IPadSession cmds 20/21 (SetUnknownEnabled/GetUnknownEnabled) Matches Atmosphere master (289ba710, 2d0fc65f, 9b4e4a21). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DqwNzoZh1Gbkmo6mfVRNSj --- nx/include/switch/kernel/svc.h | 2 ++ nx/include/switch/services/gpio.h | 2 ++ nx/source/services/gpio.c | 12 ++++++++++++ 3 files changed, 16 insertions(+) diff --git a/nx/include/switch/kernel/svc.h b/nx/include/switch/kernel/svc.h index 144adcc4ce..b653c7dfc5 100644 --- a/nx/include/switch/kernel/svc.h +++ b/nx/include/switch/kernel/svc.h @@ -152,6 +152,7 @@ typedef enum { /// Process Information. typedef enum { ProcessInfoType_ProcessState=0, ///s, (u32 *)out, 15); } +Result gpioPadSetUnknownEnabled(GpioPadSession *p, bool en) { + if (hosversionBefore(23,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + return _gpioCmdInBoolNoOut(&p->s, en, 20); +} + +Result gpioPadGetUnknownEnabled(GpioPadSession *p, bool *out) { + if (hosversionBefore(23,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + return _gpioCmdNoInOutBool(&p->s, out, 21); +} + void gpioPadClose(GpioPadSession *p) { serviceClose(&p->s); }