NcaContext*nca_ctx;///< Pointer to the NCA context for the Program NCA from which program data (NPDM / NSO) is retrieved.
PartitionFileSystemContextpfs_ctx;///< PartitionFileSystemContext for the Program NCA ExeFS, which is where program data (NPDM / NSO) is stored.
NpdmContextnpdm_ctx;///< NpdmContext for the NPDM stored in Program NCA ExeFS. Holds its own NcaHierarchicalSha256Patch that may be applied to the Program NCA if needed.
u32nso_count;///< Number of NSOs stored in Program NCA FS section #0.
NsoContext*nso_ctx;///< Pointer to a dynamically allocated buffer that holds 'nso_count' NSO contexts.
char*authoring_tool_xml;///< Pointer to a dynamically allocated, NULL-terminated buffer that holds AuthoringTool-like XML data.
///< This is always NULL unless programInfoGenerateAuthoringToolXml() is used on this ProgramInfoContext.
u64authoring_tool_xml_size;///< Size for the AuthoringTool-like XML. This is essentially the same as using strlen() on 'authoring_tool_xml'.
///< This is always 0 unless programInfoGenerateAuthoringToolXml() is used on this ProgramInfoContext.
}ProgramInfoContext;
/// Initializes a ProgramInfoContext using a previously initialized NcaContext (which must belong to a Program NCA).
/// Generates an AuthoringTool-like XML using information from a previously initialized ProgramInfoContext.
/// If the function succeeds, XML data and size will get saved to the 'authoring_tool_xml' and 'authoring_tool_xml_size' members from the ProgramInfoContext.