#include "libs/libs.h" #include "common/logging/log.h" #include "libs/errno.h" #include "loader/symbolDatabase.h" namespace Libs { namespace LibcInternal { LIB_DEFINE(InitLibcInternal_1); } // namespace LibcInternal namespace LibContentDelete { LIB_DEFINE(InitContentDelete_1); } // namespace LibContentDelete namespace LibContentExport { LIB_DEFINE(InitContentExport_1); } // namespace LibContentExport namespace LibContentSearch { LIB_DEFINE(InitContentSearch_1); } // namespace LibContentSearch namespace VideoDec2 { LIB_DEFINE(InitVideoDec2_1); } // namespace VideoDec2 namespace LibMouse { LIB_DEFINE(InitMouse_1); } // namespace LibMouse namespace LibKeyboard { LIB_DEFINE(InitKeyboard_1); } // namespace LibKeyboard namespace Ime { LIB_DEFINE(InitPlatform_1_Ime); } // namespace Ime namespace LibUlt { LIB_DEFINE(InitUlt_1); } // namespace LibUlt namespace LibPsml { LIB_DEFINE(InitPsml_1); } // namespace LibPsml LIB_DEFINE(InitLibC_1); LIB_DEFINE(InitAppContent_1); LIB_DEFINE(InitAmpr_1); LIB_DEFINE(InitAudio_1); LIB_DEFINE(InitCoredump_1); LIB_DEFINE(InitDbgAddressSanitizer_1); LIB_DEFINE(InitDebug_1); LIB_DEFINE(InitDialog_1); LIB_DEFINE(InitFiber_1); LIB_DEFINE(InitFont_1); LIB_DEFINE(InitFontFt_1); LIB_DEFINE(InitGraphicsDriver_1); LIB_DEFINE(InitLibKernel_1); LIB_DEFINE(InitNet_1); LIB_DEFINE(InitPad_1); LIB_DEFINE(InitPlayGo_1); LIB_DEFINE(InitPngDec_1); LIB_DEFINE(InitPlatform_1); LIB_DEFINE(InitRudp_1); LIB_DEFINE(InitRtc_1); LIB_DEFINE(InitSaveData_1); LIB_DEFINE(InitShare_1); LIB_DEFINE(InitSysmodule_1); LIB_DEFINE(InitSystemService_1); LIB_DEFINE(InitTextToSpeech2_1); LIB_DEFINE(InitUserService_1); LIB_DEFINE(InitVideoOut_1); void InitAll(Loader::SymbolDatabase* s) { LIB_LOAD(InitAudio_1); LIB_LOAD(InitAmpr_1); LIB_LOAD(InitAppContent_1); LIB_LOAD(InitCoredump_1); LIB_LOAD(LibContentDelete::InitContentDelete_1); LIB_LOAD(LibContentExport::InitContentExport_1); LIB_LOAD(LibContentSearch::InitContentSearch_1); LIB_LOAD(InitLibC_1); LIB_LOAD(InitDbgAddressSanitizer_1); LIB_LOAD(InitDebug_1); LIB_LOAD(InitDialog_1); LIB_LOAD(InitFiber_1); LIB_LOAD(InitFont_1); LIB_LOAD(InitFontFt_1); LIB_LOAD(InitGraphicsDriver_1); LIB_LOAD(InitLibKernel_1); LIB_LOAD(LibMouse::InitMouse_1); LIB_LOAD(LibKeyboard::InitKeyboard_1); LIB_LOAD(Ime::InitPlatform_1_Ime); LIB_LOAD(InitNet_1); LIB_LOAD(InitPad_1); LIB_LOAD(InitPlayGo_1); LIB_LOAD(LibPsml::InitPsml_1); LIB_LOAD(InitPngDec_1); LIB_LOAD(InitPlatform_1); LIB_LOAD(InitRudp_1); LIB_LOAD(InitRtc_1); LIB_LOAD(InitSaveData_1); LIB_LOAD(InitShare_1); LIB_LOAD(InitSysmodule_1); LIB_LOAD(InitSystemService_1); LIB_LOAD(InitTextToSpeech2_1); LIB_LOAD(LibUlt::InitUlt_1); LIB_LOAD(InitUserService_1); LIB_LOAD(VideoDec2::InitVideoDec2_1); LIB_LOAD(InitVideoOut_1); } namespace LibContentExport { LIB_VERSION("ContentExport", 1, "ContentExport", 1, 1); namespace ContentExport { constexpr int CONTENT_EXPORT_ERROR_INVALID_PARAM = -2137182186; /* 0x809D3016 */ struct ContentExportInitParam2 { void* malloc_func; void* free_func; void* user_data; size_t buffer_size; int64_t reserved0; int64_t reserved1; }; static bool g_initialized = false; static int KYTY_SYSV_ABI ContentExportInit2(const ContentExportInitParam2* init_param) { PRINT_NAME(); LOGF("\t init_param = 0x%016" PRIx64 "\n", reinterpret_cast(init_param)); if (init_param == nullptr) { return CONTENT_EXPORT_ERROR_INVALID_PARAM; } LOGF("\t malloc_func = 0x%016" PRIx64 "\n" "\t free_func = 0x%016" PRIx64 "\n" "\t user_data = 0x%016" PRIx64 "\n" "\t buffer_size = %" PRIu64 "\n", reinterpret_cast(init_param->malloc_func), reinterpret_cast(init_param->free_func), reinterpret_cast(init_param->user_data), static_cast(init_param->buffer_size)); g_initialized = true; return OK; } } // namespace ContentExport LIB_DEFINE(InitContentExport_1) { LIB_FUNC("0GnN4QCgIfs", ContentExport::ContentExportInit2); } } // namespace LibContentExport namespace LibContentSearch { LIB_VERSION("ContentSearch", 1, "ContentSearch", 1, 0); namespace ContentSearch { constexpr int CONTENT_SEARCH_ERROR_INVALID_PARAM = -2137190397; /* 0x809D1003 */ struct ContentSearchInitParam { size_t memory_size; }; static bool g_initialized = false; static int KYTY_SYSV_ABI ContentSearchInit(const ContentSearchInitParam* init_param) { PRINT_NAME(); LOGF("\t init_param = 0x%016" PRIx64 "\n", reinterpret_cast(init_param)); if (init_param == nullptr) { return CONTENT_SEARCH_ERROR_INVALID_PARAM; } LOGF("\t memory_size = %" PRIu64 "\n", static_cast(init_param->memory_size)); g_initialized = true; return OK; } } // namespace ContentSearch LIB_DEFINE(InitContentSearch_1) { LIB_FUNC("dPj4ZtRcIWk", ContentSearch::ContentSearchInit); } } // namespace LibContentSearch namespace LibContentDelete { LIB_VERSION("ContentDelete", 1, "ContentDelete", 1, 1); namespace ContentDelete { constexpr int CONTENT_DELETE_ERROR_INVALID_PARAM = -2137174015; /* 0x809D5001 */ struct ContentDeleteInitParam { char reserved1[4]; size_t heap_size; char reserved2[32]; }; static bool g_initialized = false; static int KYTY_SYSV_ABI ContentDeleteInitialize(const ContentDeleteInitParam* init_param) { PRINT_NAME(); LOGF("\t init_param = 0x%016" PRIx64 "\n", reinterpret_cast(init_param)); if (init_param == nullptr) { return CONTENT_DELETE_ERROR_INVALID_PARAM; } LOGF("\t heap_size = %" PRIu64 "\n", static_cast(init_param->heap_size)); g_initialized = true; return OK; } } // namespace ContentDelete LIB_DEFINE(InitContentDelete_1) { LIB_FUNC("zoxb0wEChEM", ContentDelete::ContentDeleteInitialize); } } // namespace LibContentDelete } // namespace Libs