diff --git a/nx/include/switch/services/apm.h b/nx/include/switch/services/apm.h index b1d44e34..2c792db9 100644 --- a/nx/include/switch/services/apm.h +++ b/nx/include/switch/services/apm.h @@ -33,6 +33,12 @@ Service* apmGetServiceSession(void); /// Gets the Service object for ISession. Service* apmGetServiceSession_Session(void); +/** + * @brief Gets the current ApmPerformanceMode. + * @param[out] out_performanceMode ApmPerformanceMode + */ +Result apmGetPerformanceMode(ApmPerformanceMode* out_performanceMode); + /** * @brief Sets the PerformanceConfiguration for the specified PerformanceMode. * @param[in] PerformanceMode \ref ApmPerformanceMode diff --git a/nx/source/services/apm.c b/nx/source/services/apm.c index 1eddb72e..02650b83 100644 --- a/nx/source/services/apm.c +++ b/nx/source/services/apm.c @@ -39,6 +39,10 @@ static Result _apmCmdGetSession(Service* srv, Service* srv_out, u32 cmd_id) { ); } +Result apmGetPerformanceMode(ApmPerformanceMode* out_performanceMode) { + return serviceDispatchOut(&g_apmSrv, 1, *out_performanceMode); +} + Result apmSetPerformanceConfiguration(ApmPerformanceMode PerformanceMode, u32 PerformanceConfiguration) { const struct { u32 PerformanceMode;