diff --git a/nx/include/switch/services/lr.h b/nx/include/switch/services/lr.h index ff7200ac..7dc35fde 100644 --- a/nx/include/switch/services/lr.h +++ b/nx/include/switch/services/lr.h @@ -42,6 +42,9 @@ Result lrLrResolveApplicationLegalInformationPath(LrLocationResolver* lr, u64 ti Result lrLrRedirectApplicationLegalInformationPath(LrLocationResolver* lr, u64 tid, u64 tid2, const char *path); Result lrLrRefresh(LrLocationResolver* lr); +/// Only available on [5.0.0+]. +Result lrLrEraseProgramRedirection(LrLocationResolver* lr, u64 tid); + // IRegisteredLocationResolver Result lrRegLrResolveProgramPath(LrRegisteredLocationResolver* reg, u64 tid, char *out); // TODO: Other IRegisteredLocationResolver commands diff --git a/nx/source/services/lr.c b/nx/source/services/lr.c index b19dd060..278d5588 100644 --- a/nx/source/services/lr.c +++ b/nx/source/services/lr.c @@ -135,6 +135,13 @@ Result lrLrRefresh(LrLocationResolver* lr) { return serviceDispatch(&lr->s, 9); } +Result lrLrEraseProgramRedirection(LrLocationResolver* lr, u64 tid) { + if (hosversionBefore(5,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + + return serviceDispatchIn(&lr->s, 12, tid); +} + Result lrRegLrResolveProgramPath(LrRegisteredLocationResolver* reg, u64 tid, char *out) { return _lrResolvePath(®->s, tid, out, 0); }