Files
AnyPS5/docs/dev/debt/libSceNpWebApi2.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

1.7 KiB

libSceNpWebApi2 technical debt

Unknown function info

  • sceNpWebApi2PushEventAbortHandle (libSceNpWebApi2, NID 1OLgvahaSco) is a throwing stub. The two signed 32-bit handle arguments and return type follow shadPS4 (PS4); the PS5 signature and abort behavior are unverified. PPSA01736 imports it.
  • sceNpWebApi2GetMemoryPoolStats (libSceNpWebApi2) - imported by PPSA21703's Unity PSN plugin. The signature (int libCtxId, stats*) and the layout of the Http2 statistics above (measured on a PS5 for Http2, Ssl and Net) are assumed for this library, not measured. The pool size is the one given to sceNpWebApi2Initialize, and the peak and current use are 0. The error codes are unknown, so a null output or an unknown context throws
  • sceNpWebApi2PushEventSetHandleTimeout (libSceNpWebApi2) - imported by PPSA01317, which fails to load without it. The signature (int libCtxId, int handleId, uint32_t timeout) follows sceNpWebApiSetHandleTimeout of the PS4 libSceNpWebApi in shadPS4 and is unverified on the PS5. An unknown library context throws, as in sceNpWebApi2GetMemoryPoolStats, since its error code is unknown. The handle is not checked, as push event handles are not tracked (sceNpWebApi2PushEventDeleteHandle accepts any handle), and the timeout is not kept, as nothing waits on a handle offline