mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
2.4 KiB
2.4 KiB
libSceNetCtlAp technical debt
Functional
- libSceNetCtlAp (libSceNetCtlAp) - the access point never starts: a title starts it through libSceNetCtlApDialog, which always reports the user as having cancelled.
sceNetCtlApGetStatereports Stopped (0),sceNetCtlApGetInfo,sceNetCtlApGetConnectInfoandsceNetCtlApStopreturnNOT_STARTED(0x8041298F) without writing, and no callback ever fires. Signatures, states, structure sizes (152 and 184 bytes), the 8-callback limit and error codes come from SharpProspero
Unknown function info
- sceNetCtlApInit, sceNetCtlApTerm (libSceNetCtlAp) - every other call returns
NOT_INITIALIZED(0x80412994) beforesceNetCtlApInitand aftersceNetCtlApTerm, which also drops the registered callbacks. A secondsceNetCtlApInitthrows, as no error for it is documented - sceNetCtlApGetInfo, sceNetCtlApGetConnectInfo, sceNetCtlApStop (libSceNetCtlAp) - checks run in this order, which is not verified: a null structure returns
INVALID_ADDR(0x80412991), a size field other than 152 or 184INVALID_SIZE(0x80412998), thenNOT_STARTED. The option string is not read, since the accepted strings (INVALID_OPT_STR,0x80412901) are unknown. WhethersceNetCtlApStopof a stopped access point returnsNOT_STARTEDor 0 is unverified - sceNetCtlApClearEvent, sceNetCtlApGetResult (libSceNetCtlAp) - event types 1 to 4 are accepted and others return
INVALID_TYPE(0x80412990), checked before the nullerrorCode(INVALID_ADDR). With no event ever delivered,sceNetCtlApGetResultwrites 0; what the console writes before the first event is unverified - sceNetCtlApRegisterCallback, sceNetCtlApUnregisterCallback (libSceNetCtlAp) - a null function or id pointer returns
INVALID_ADDR, a ninth registrationCALLBACK_MAX(0x80412995), an id outside 0 to 7INVALID_ID(0x80412996) and an unregistered idID_NOT_FOUND(0x80412997). Ids are the lowest free slot, as in libSceNetCtl; the console's id assignment is unverified