Files
AnyPS5/docs/dev/debt/libSceNpAuth.md
T
8a7e1195d4 feat(exports): export the calls PPSA01317 imports
Gran Turismo 7 (PPSA01317) fails to load on unresolved imports and on
two needed libraries that AnyPS5 does not build (#4782).

- sceAppContentDownloadDataFormat empties /download0, as
  sceAppContentTemporaryDataFormat does for /temp0.
- sceNpAuthSetTimeout returns REQUEST_NOT_FOUND for an unknown request
  like the other request calls, and OK otherwise; no request reaches the
  network the timeouts would bound.
- sceNpWebApi2PushEventSetHandleTimeout throws for an unknown library
  context, like sceNpWebApi2GetMemoryPoolStats, and returns OK
  otherwise; push event handles are not tracked and nothing waits on
  one offline.
- sceSslDisableVerifyOption, sceSslGetAlpnSelected, sceSslSetAlpn,
  sceSslSetMinSslVersion, sceAudioOutDeviceIdOpen and the unnamed
  libScePsml NIDs xNZM9Y5lf-M and lcZD9tJraAw are declared without
  parameters and throw; their signatures are unknown.
- libSceUsbStorage and libSceUsbStorageDialog exist with no exports,
  like libSceXml: the title lists both as needed but imports nothing
  from them.

Each assumption is recorded in the library's technical debt file.

Co-authored-by: dawid-swiecicki <8942606+dawid-swiecicki@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 01:11:29 +02:00

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