#include "prx/libc/include/general/VabiMacros.hpp" #include #include #include #include extern "C" { int APS5_VABI sceVoiceQoSInit(void*, std::uint32_t, std::int32_t); } static void Require(bool value) { if (!value) std::abort(); } template static bool Throws(TFunction function) { try { function(); } catch (const TException&) { return true; } return false; } int main(int argc, char** argv) { Require(argc == 2); const auto appType = static_cast(std::strtoul(argv[1], nullptr, 16)); std::vector memory(0x40000); Require(Throws([&] { sceVoiceQoSInit(nullptr, 0x40000, appType); })); Require(Throws([&] { sceVoiceQoSInit(memory.data(), 0, appType); })); Require(Throws([&] { sceVoiceQoSInit(memory.data(), 0x40000, 0); })); Require(Throws([&] { sceVoiceQoSInit(memory.data(), 0x40000, 0x30000000); })); Require(sceVoiceQoSInit(memory.data(), 0x40000, appType) == 0); Require(Throws([&] { sceVoiceQoSInit(memory.data(), 0x40000, appType); })); }