21 lines
703 B
C++
21 lines
703 B
C++
#include "prx/libc/include/general/VabiMacros.hpp"
|
|
#include <cstdlib>
|
|
#include <stdexcept>
|
|
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);
|
|
}
|