#include "prx/libc/include/general/VabiMacros.hpp" #include #include extern "C" { void APS5_VABI sceKernelGetOperationMode(int* mode, int* submode); } static void Require(bool value) { if (!value) std::abort(); } static bool Throws(int* mode, int* submode) { try { sceKernelGetOperationMode(mode, submode); } catch (const std::invalid_argument&) { return true; } return false; } int main() { int out[4] = {-1, -1, -1, -1}; sceKernelGetOperationMode(&out[0], &out[2]); Require(out[0] == 2 && out[1] == -1); Require(out[2] == 0 && out[3] == -1); int value = -1; Require(Throws(nullptr, &value) && Throws(&value, nullptr)); Require(value == -1); }