mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-02 12:56:05 +00:00
1.7 KiB
1.7 KiB
libSceXml technical debt
Known export names; ABI prototypes unverified
- 107 of the 150
sce::Xmlexports in Export.cpp are present in the PS5 3.20libSceXmlexport inventory from PS5-3.20_Libs. Each is named after the mangled symbol the verified NID name database gives for its NID, and the NID of that name matches. Their prototypes and behavior are not established; these 107 use the existing no-parameter import-resolution convention and throw throughNotImplemented_nid_no_patch. The declarations do not claim an ABI or behavior.
Value types and handle constructors
- The
String,SimpleData,SerializeParameter,NodeIdandNodevalue operations and the handle constructors (libSceXml) - followlibSceXml.sprxof firmware 13.60, read from disassembly, not measured on a console.NodeId::operator void*returns null for everyNodeId, and theNodeIdconstructor and copies leave its padding bytes untouched. The handle constructors only clear the implementation pointer. Exports that read the objectsinitializebuilds still throw, because nothing creates those objects yet:AttributeListgetLengthandisAvailable,Document::resetStatus, theDocumentBuilderandSax::Parsersetters,Node(NodeId), andNodegetNodeType,hasChildNodes,hasAttributesandgetOwnerDocument.Node::getAttributesandgetChildNodesare a bare return in the module, and the deletingMemAllocatordestructor isud2, so they still throw too.