Files
AnyPS5/docs/dev/debt/libSceRegMgr.md
T
2026-11-06 15:58:52 +01:00

9.8 KiB

libSceRegMgr technical debt

Additional callable exports

  • Additional callable exports - 8 entries present in both version-labelled images are import-resolution declarations only. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless int declarations are placeholders, not verified ABI contracts. Every entry throws through NotImplemented_nid_no_patch. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the public symbol database or supplemental catalog.
Name NID
Unknown JfNNpUQdhQw
Unknown UuGXdpQj1Aw
Unknown YtmvqKL9PEo
Unknown csy-cEETOKg
Unknown iHi1Omn25M4
Unknown wpJW0oIM6rg
Unknown x0YJQilTJDo
Unknown x9WN+tFTY34

Functional

  • Registry store (libSceRegMgr) - entries are read and written through an in-memory process-local store without persistence. Callable prototypes for sceRegMgrGetInt, sceRegMgrGetStr, and sceRegMgrGetBin derive from regmgr.h. Implemented getters return error codes for invalid parameters (0x80820001), missing keys (0x80820002), buffer sizing (0x80820004), and type mismatches (0x80820006) as unverified host implementation assumptions, as the cited regmgr.h does not establish error codes or validation behavior. Queries with non-positive keys 0 and -1 take the missing-key path without key-range validation, pinning the unverified host assumption that non-positive keys are not rejected as invalid parameters. The 11.00 wrappers forward sceRegMgrSetInt, sceRegMgrSetStr and sceRegMgrSetBin with operation codes 1, 3 and 5 and a four-byte int or a pointer plus length; the host stores the value with the key's existing type, returns 0x80820006 for a different type and 0x80820001 for a null buffer, and creates the key on first write because the console's fixed registry schema is not available. Zero-length setter and getter paths, sceRegMgrSetbin, sceRegMgrResetVal and the init-level behavior remain unimplemented throwing NotImplemented_nid_no_patch because the kernel path is unmeasured.
  • Unverified registry APIs (libSceRegMgr) - export names and NIDs for initial-value getters, version queries, region queries and conversions, error checks, control/backup routines, and sceRegMgrNonSys* variants are present in the PS5 3.20 export inventory and NID database, but their callable contracts and runtime behavior remain unverified and retain NotImplemented_nid_no_patch.

Unknown function info