2.6 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
-
sceNetCtlApRegisterCallback (libSceNetCtlAp) - writing
InvalidCid(-1) tocidwhen all eight slots are taken (CALLBACK_MAX) is unmeasured and interprets SharpProspero's comment that it is the value written into an unclaimed callback id, which does not name this path.libSceNetCtland shadPS4 leavecidunchanged on a full table -
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 - stopped-state results come from a service on the console and remain unverified. Wrapper validation is recovered: initialization precedes arguments, the optional connection string is at most eight bytes, then output pointers and exact 152/184-byte sizes are checked. The service interpretation of the option string remains unresolved.
-
sceNetCtlApGetResult - with no event delivered, the host writes zero; the service result before the first event remains unknown. Wrapper validation checks initialization, output pointer and event type in that order. Event types 1 through 4 and lowest-free callback IDs 0 through 7 are confirmed.