mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
49 lines
2.0 KiB
C++
49 lines
2.0 KiB
C++
#include "prx/libSceRemoteplay/include/Api.hpp"
|
|
|
|
#include <array>
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <cstdlib>
|
|
|
|
static void Require(bool value) { if (!value) std::abort(); }
|
|
|
|
int main() {
|
|
constexpr auto invalidArgument = static_cast<int>(0x80FC0001u);
|
|
constexpr auto alreadyInitialized = static_cast<int>(0x80FC0003u);
|
|
constexpr auto notInitialized = static_cast<int>(0x80FC0004u);
|
|
constexpr int connectionStatusDisconnect = 0;
|
|
std::array<unsigned char, 0x1800> heap{};
|
|
|
|
int status = -1;
|
|
Require(sceRemoteplayGetConnectionStatus(0, &status) == notInitialized && status == -1);
|
|
Require(sceRemoteplayTerminate() == notInitialized);
|
|
|
|
Require(sceRemoteplayInitialize(nullptr, 0) == 0);
|
|
Require(sceRemoteplayGetConnectionStatus(0, nullptr) == invalidArgument);
|
|
Require(sceRemoteplayGetConnectionStatus(0, reinterpret_cast<int*>(0x10)) == invalidArgument);
|
|
status = -1;
|
|
Require(sceRemoteplayGetConnectionStatus(0, &status) == 0 && status == connectionStatusDisconnect);
|
|
Require(sceRemoteplayInitialize(nullptr, 0) == alreadyInitialized);
|
|
Require(sceRemoteplayInitialize(heap.data(), heap.size()) == alreadyInitialized);
|
|
|
|
Require(sceRemoteplayTerminate() == 0);
|
|
Require(sceRemoteplayTerminate() == notInitialized);
|
|
status = -1;
|
|
Require(sceRemoteplayGetConnectionStatus(0, &status) == notInitialized && status == -1);
|
|
|
|
Require(sceRemoteplayInitialize(heap.data(), heap.size() - 1) == invalidArgument);
|
|
Require(sceRemoteplayTerminate() == notInitialized);
|
|
|
|
Require(sceRemoteplayInitialize(heap.data(), heap.size()) == 0);
|
|
Require(sceRemoteplayTerminate() == 0);
|
|
|
|
Require(sceRemoteplayInitialize(nullptr, 1) == 0);
|
|
Require(sceRemoteplayTerminate() == 0);
|
|
|
|
Require(sceRemoteplayInitialize(heap.data(), heap.size()) == 0);
|
|
status = -1;
|
|
Require(sceRemoteplayGetConnectionStatus(3, &status) == 0 && status == connectionStatusDisconnect);
|
|
Require(sceRemoteplayTerminate() == 0);
|
|
return 0;
|
|
}
|