/** * @file detect.h * @brief Kernel capability detection * @author plutoo * @copyright libnx Authors */ #pragma once #include "../types.h" #include "../result.h" #include "svc.h" /// Returns true if the process has a debugger attached. NX_INLINE bool detectDebugger(void) { u64 tmp = 0; Result rc = svcGetInfo(&tmp, InfoType_DebuggerAttached, INVALID_HANDLE, 0); return R_SUCCEEDED(rc) && tmp != 0; } /// Returns true if the underlying kernel is Mesosphère. NX_INLINE bool detectMesosphere(void) { u64 dummy = 0; Result rc = svcGetInfo(&dummy, 65000, INVALID_HANDLE, 0); // InfoType_MesosphereMeta return R_SUCCEEDED(rc); }