Files
AnyPS5/docs/dev/debt/libSceJson2.md
T
Dean f94f4c63bb Merge pull request #9517 from xdCloudy/feat/ps5-json2-inventory-74
feat(libSceJson2): declare 74 PS5 pending exports
2026-10-23 16:44:03 +13:00

24 KiB

libSceJson2 technical debt

Unknown function info

  • JSON real-number conversion (libSceJson2) uses locale-independent to_chars with 17 significant digits and from_chars, following JSON's decimal-point grammar in RFC 8259 section 6. Out-of-range input falls back to a classic-locale stream so underflow retains the prior signed-zero behavior and overflow throws. Console rounding and formatting are unverified.
  • sce::Json::Array::pop_front (libSceJson2) - removes and destroys the first element; on an empty array it throws std::out_of_range, as front and back do here. The console's result for an empty array is unverified.
  • sce::Json::Parser::parse (libSceJson2) - a null text pointer with nonzero size throws instead of being dereferenced. A number that overflows a double (e.g. 1e309) throws: whether the console rejects the document or stores an infinite real is unknown. Syntax validation for number tokens and destination state after a failed parse still differ from the system parser
  • sce::Json::InitParameter2, InitParameterRtti and InitParameterRtti2 (libSceJson2) - RTTI allocator adaptation and the InitParameterRtti layout remain unverified. setAllocatorRtti stores the raw allocation-parameter pointer as the allocator; initialize ignores allocator, buffer-size and special-float settings. Special-float enum meanings and parser support for non-finite numbers remain unresolved; serialization of non-finite values throws. Setter return types remain unverified.
  • sce::Json::Object::Pair, sce::Json::Array::iterator and sce::Json::Object::iterator members (libSceJson2) - the signatures follow the mangled names, with Array::iterator::operator++(int) and Object::iterator::operator++(int) returning their copy through a result pointer before this as begin does, since the iterators have non-trivial destructors. Pair(const String&, const Value&) and default Pair() deep-copy or initialize into the layout Object iteration already hands out (key at 0, value at 0x10) and zeroes the 8 bytes between them; what the console keeps there is unknown.
  • sce::Json::Value::setTypeMismatchHandler, setElementAccessFailureHandler and setSpecialFloatHandler (libSceJson2) - members of Value that return an int, inferred from a caller that registers them on its root Value before parsing into it, with the handler and its context, and accepts 0 or 0x80848104 as success; they return 0. The PS Vita library's Value::setNullAccessCallback is such a member too (vitasdk). The handler signatures follow the mangled names. A handler applies to the Value it is set on and to the values that Value holds then, and Parser::parse gives the values it creates the handlers of the Value it parses into, since the title reads the errors its handlers record after accessing parsed members; copies, push_back and Object::operator[] do not carry them, and how the console finds the handler of an accessed value is unknown. A typed getter on a non-null value of another type calls the type mismatch handler with the requested type, the value, null and the context, and returns the value the handler returns if it has the requested type, else the getter's default; passing null as the third handler argument (the second Value pointer), and the order of the two Value pointers, remain unverified against the console. The element access failure handler is not called: a failed operator[] or getValue on a value carrying it throws, as the error code the console passes, which the title records as its error, is unknown; without one the access still reaches the null-access callback. The special float handler is not called: serializing a non-finite real throws with or without it, as the FunctionType values and the bool* output are unknown, and the title's handler returns a different replacement for each of its two types
  • sce::Json::MemAllocator::notifyError (libSceJson2) - the base class's virtual does nothing. A title's allocator that does not override it calls it through its own vtable; the library never calls the title's allocator, so it never reports an allocation failure. Whether the console's base implementation logs anything is unknown
  • sce::Json::String size, capacity, resize, append(const char*, size_t), operator+= (libSceJson2) - storage uses std::string; capacity and allocation growth do not match the system 32-bit capacity and allocator settings. Appending null text with a nonzero length throws instead of dereferencing it.
  • sce::Json::Array::iterator::advance and Object::iterator members (libSceJson2) - the return type of advance remains unverified. Object iterator advancement past the end throws instead of asserting. Dereferencing an empty array iterator throws instead of returning the system null-value pointer or an invalid address.
  • sce::Json::Value::operator bool (libSceJson2) - callback dispatch before conversion is not implemented. The system library invokes the applicable type mismatch handler before converting a non-boolean value, with SDK-dependent global callback handling.

Unknown 3.20 import declarations

  • ZN3sce4Json11Initializer24setAllocatorInfoCallBackEPFviNS0_9ValueTypeEPvES3 (libSceJson2) - NID R996H0YIhiQ from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json11Initializer28setGlobalSpecialFloatHandlerEPFKNS0_5ValueENS0_12FunctionTypeEdPS3_PvPbES6 (libSceJson2) - NID i1393UBWu1U from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json11Initializer28setGlobalTypeMismatchHandlerEPFRKNS0_5ValueENS0_9ValueTypeEPS3_S6_PvES7 (libSceJson2) - NID tck9g-yOqPg from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json11Initializer36setGlobalElementAccessFailureHandlerEPFviPKNS0_6StringEPKmPKNS0_5ValueES9_PvESA (libSceJson2) - NID j8Q7SBgMm28 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json11InitializerC2Ev (libSceJson2) - NID 6qFqND4iwPA from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json11InitializerD2Ev (libSceJson2) - NID qQZGdYkEytk from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json12MemAllocatorD0Ev (libSceJson2) - NID ypazoTrKYhE from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json12MemAllocatorD1Ev (libSceJson2) - NID O1uwoqazS2A from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json17InitParameterRttiC2EPNS0_14AllocParamRttiEPvm (libSceJson2) - NID Mp8DPb3M4I0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializer19terminate_staticlibEv (libSceJson2) - NID dvp2zGSQzMs from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializer20initialize_staticlibEPKNS0_13InitParameterENS1_10InitOptionE (libSceJson2) - NID BPSPc3pUMJo from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializerC1Ev (libSceJson2) - NID WntRKhYTmZw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializerC2Ev (libSceJson2) - NID 2n+fxNdSZfs from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializerD1Ev (libSceJson2) - NID yudT4-bglko from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json19InternalInitializerD2Ev (libSceJson2) - NID caP-y4fH-zQ from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json4FreeEPv (libSceJson2) - NID bnk+edDbqMk from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array10push_frontERKNS0_5ValueE (libSceJson2) - NID MQxDxBzWz40 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array5eraseERKNS1_8iteratorE (libSceJson2) - NID 2mbVAtshWRI from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array6insertERKNS1_8iteratorERKNS0_5ValueE (libSceJson2) - NID ixJAz92H1uE from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5Array8iteratorC2ERKS2 (libSceJson2) - NID Hdc3DSIsG2I from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array8iteratorC2Ev (libSceJson2) - NID JSg1MSo7NKE from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array8iteratorD2Ev (libSceJson2) - NID 9niNrXsF3Bc from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array8pop_backEv (libSceJson2) - NID woec1toi4Xw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Array9pop_frontEv (libSceJson2) - NID pPs3qZTZQvQ from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5ArrayC2ERKS1 (libSceJson2) - NID 6NlbpyIfUuY from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ArrayC2Ev (libSceJson2) - NID t6AHhkWu4mY from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ArrayD2Ev (libSceJson2) - NID MIyMPw7YTGM from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5ArrayaSERKS1 (libSceJson2) - NID w5UbvPLGye0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Value11referStringEv (libSceJson2) - NID m5J28iw-QPs from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Value12referBooleanEv (libSceJson2) - NID QxjfcfBhEdc from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Value12referIntegerEv (libSceJson2) - NID R0ac5QOdlpo from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Value13referUIntegerEv (libSceJson2) - NID Nx5tez4siL4 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5Value9referRealEv (libSceJson2) - NID t7UEJrhojhk from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5Value9serializeEPFiRNS0_6StringEPvES4 (libSceJson2) - NID PyMbL9F2oBY from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5Value9serializeERNS0_6StringEPFiS3_PvES4 (libSceJson2) - NID l1URiQJlSoU from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2ENS0_9ValueTypeE (libSceJson2) - NID PWm9MyJJVqU from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2EPKc (libSceJson2) - NID +hHa4QYtLY8 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2ERKNS0_5ArrayE (libSceJson2) - NID VH9dsKpQTmk from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2ERKNS0_6ObjectE (libSceJson2) - NID JXlrCLLCLmc from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2ERKNS0_6StringE (libSceJson2) - NID veNviXt6wC0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json5ValueC2ERKS1 (libSceJson2) - NID TZyuFeGuw9Y from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2Eb (libSceJson2) - NID OK4Ot0ue7J0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2Ed (libSceJson2) - NID 23nm4oXHlfI from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2El (libSceJson2) - NID EjxUpzR2Yx8 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2Em (libSceJson2) - NID cqucBPSeVDA from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueC2Ev (libSceJson2) - NID -wa17B7TGnw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json5ValueD2Ev (libSceJson2) - NID 0eUrW9JAxM0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6MallocEm (libSceJson2) - NID Xzy0onDzSAc from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Object4PairC2ERKNS0_6StringERKNS0_5ValueE (libSceJson2) - NID lt3J4dPvEtM from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Object4PairC2Ev (libSceJson2) - NID Wu-urs6MMpQ from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Object4PairD2Ev (libSceJson2) - NID TM0Sj+Ebins from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json6Object8iteratorC2ERKS2 (libSceJson2) - NID r5CShmcua+M from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Object8iteratorC2Ev (libSceJson2) - NID OxO+V0ouoS4 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Object8iteratorD2Ev (libSceJson2) - NID patTzc7zBjw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json6ObjectC2ERKS1 (libSceJson2) - NID tSRqQ-+Y4PE from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6ObjectC2Ev (libSceJson2) - NID SkKczWHdklc from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6ObjectD2Ev (libSceJson2) - NID 1siRBursJjw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6Parser5parseERNS0_5ValueEPKc (libSceJson2) - NID LB3jxppxyKU from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6StringC2EPKc (libSceJson2) - NID N78gkQzXRL4 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • ZN3sce4Json6StringC2ERKS1 (libSceJson2) - NID gALFgNfF+9I from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6StringC2Ev (libSceJson2) - NID eG9E9M6XvTM from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZN3sce4Json6StringD2Ev (libSceJson2) - NID Ui7YFnSTCBw from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json14InitParameter211getUserDataEv (libSceJson2) - NID GWtzpTKbZ+0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json14InitParameter212getAllocatorEv (libSceJson2) - NID BykPm1ajcM0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json14InitParameter217getFileBufferSizeEv (libSceJson2) - NID Pcg6xQUhq9E from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json14InitParameter225getSpecialFloatFormatTypeEv (libSceJson2) - NID PDkib0zyABg from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json5ValueixERKNS0_6StringE (libSceJson2) - NID clF7J7N9xXE from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String2atEm (libSceJson2) - NID KrKM-5SdQrA from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String4findEPKcm (libSceJson2) - NID yjsf6SvXA08 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String4findEPKcmm (libSceJson2) - NID wwDnDDsQVc0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String4findERKS1_m (libSceJson2) - NID awkeNR6Ukp8 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String5rfindEPKcm (libSceJson2) - NID VpQBXbaHXOo from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String5rfindEPKcmm (libSceJson2) - NID A29RHrlfTM0 from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.
  • _ZNK3sce4Json6String5rfindERKS1_m (libSceJson2) - NID -R9mdXBspeQ from the PS5 3.20 export inventory; prototype and behavior are unverified. Declaration is for import resolution only.