mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 17:13:13 -05:00
Initialize, register a request callback, start, stop and terminate keep the library's state with its errors; no companion device connects, so sceCompanionHttpdGetEvent always returns NO_EVENT and the callback is never called. The response builders are declared and throw. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
libSceCompanionHttpd technical debt
Unknown function info
- sceCompanionHttpdOptParamInitialize, sceCompanionHttpdInitialize (libSceCompanionHttpd) - the option block is taken as 0x60 bytes: titles fill a work memory pointer at +0x08, its size at +0x10 and a temporary data mount point at +0x58 after
sceCompanionHttpdOptParamInitialize. Its other fields and the defaults the console writes are unknown, sosceCompanionHttpdOptParamInitializezeroes the 0x60 bytes andsceCompanionHttpdInitializereads none of them; both reject a null block withINVALID_PARAM - sceCompanionHttpdAddHeader, sceCompanionHttpdSetStatus, sceCompanionHttpdSetBody (libSceCompanionHttpd) - imported by PS4 titles and added without an implementation. They fill the response of a request callback, which is never called here, so every call throws
- sceCompanionHttpdGet2ndScreenStatus, sceCompanionHttpdGetUserId, sceCompanionHttpdInitialize2, sceCompanionHttpdRegisterRequestBodyReceptionCallback, sceCompanionHttpdRegisterRequestCallback2, sceCompanionHttpdUnregisterRequestBodyReceptionCallback (libSceCompanionHttpd) - the rest of the library's exports, declared without parameters and without an implementation; their signatures are not verified, so every call throws
Functional
- Companion server state (libSceCompanionHttpd) - no HTTP server listens, so no companion device ever connects:
sceCompanionHttpdGetEventreturnsNO_EVENTwithout writing the event and the request callback is never called. Initialization, callback registration and start and stop are tracked with the errors of shadPS4's companion_error.h (ALREADY_REGISTEREDis 0x80E4000C, betweenNOT_STARTEDandNOT_CONNECTED; the header has 0x80E4000, one digit short). Unregistering with no callback and terminating a started server throw, since the console's answers are unknown. Not measured on a console. Closes when: a companion server is hosted