#define NX_SERVICE_ASSUME_NON_DOMAIN #include #include "service_guard.h" #include "runtime/hosversion.h" #include "services/tc.h" static Service g_tcSrv; NX_GENERATE_SERVICE_GUARD(tc); Result _tcInitialize(void) { return smGetService(&g_tcSrv, "tc"); } void _tcCleanup(void) { serviceClose(&g_tcSrv); } Service* tcGetServiceSession(void) { return &g_tcSrv; } static Result _tcNoInNoOut(u32 cmd_id) { return serviceDispatch(&g_tcSrv, cmd_id); } Result tcEnableFanControl(void) { return _tcNoInNoOut(6); } Result tcDisableFanControl(void) { return _tcNoInNoOut(7); } Result tcIsFanControlEnabled(bool *status) { u8 tmp=0; Result rc = serviceDispatchOut(&g_tcSrv, 8, tmp); if (R_SUCCEEDED(rc) && status) *status = tmp & 1; return rc; } Result tcGetSkinTemperatureMilliC(s32 *skinTemp) { if (hosversionBefore(5,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return serviceDispatchOut(&g_tcSrv, 9, *skinTemp); }