AnyPS5/docs/dev/debt/libSceNpAuth.md

2.1 KiB

libSceNpAuth technical debt

Unknown function info

  • sceNpAuthGetAuthorizedAppCode (libSceNpAuth) - declared without parameters and returns SCE_NP_ERROR_SIGNED_OUT without reading them, as there is no PSN sign-in; the request parameter and code output are not known. Minecraft (PPSA17221) imports it, fails to load without it, and after its sign-in dialog treats the signed-out code as offline play.
  • sceNpAuthAbortRequest, sceNpAuthGetAuthorizationCodeV3, sceNpAuthGetIdTokenV3, sceNpAuthPollAsync, sceNpAuthWaitAsync (libSceNpAuth) - request tracking, ORBIS_NP_AUTH_ERROR_REQUEST_NOT_FOUND (0x80550306) on unknown request IDs, ORBIS_NP_AUTH_ERROR_INVALID_ID (0x80550307) on non-async or unprocessed requests in Poll/Wait, ORBIS_NP_AUTH_ERROR_INVALID_ARGUMENT (0x80550301) on null arguments and repeated calls on completed requests, and ORBIS_NP_AUTH_ERROR_ABORTED (0x80550304) after an abort follow shadPS4 (PS4); async requests return OK and defer SCE_NP_ERROR_SIGNED_OUT to sceNpAuthPollAsync/sceNpAuthWaitAsync while sync requests fail immediately; PlayStation Network is not contacted. The parameter size fields are not checked (ORBIS_NP_AUTH_ERROR_INVALID_SIZE, structure layouts unknown), the request table has no limit (ORBIS_NP_AUTH_ERROR_REQUEST_MAX), and console behavior on PS5 is unverified
  • sceNpAuthSetTimeout (libSceNpAuth) - imported by PPSA01317, which fails to load without it. The signature (reqId, resolveRetry, resolveTimeout, connTimeout, sendTimeout, recvTimeout) follows shadPS4 (PS4), which only stubs it. An unknown request ID returns ORBIS_NP_AUTH_ERROR_REQUEST_NOT_FOUND like the other request calls; otherwise it returns OK and keeps nothing, as no request reaches the network the timeouts would bound. Argument checks of the console are unverified