mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-24 12:56:53 +02:00
Implement missing kernel and startup library imports (#772)
* Implement missing kernel and startup library imports * Remove chmod and test changes; guard vectored I/O size --------- Co-authored-by: nmzik <Nmzik@mail.ru>
This commit is contained in:
@@ -3021,7 +3021,9 @@ LIB_DEFINE(InitLibKernel_1_FS) {
|
||||
LIB_FUNC("Cg4srZ6TKbU", FileSystem::KernelRead);
|
||||
LIB_FUNC("4wSze92BhLI", FileSystem::KernelWrite);
|
||||
LIB_FUNC("+r3rMFwItV4", FileSystem::KernelPread);
|
||||
LIB_FUNC("yTj62I7kw4s", FileSystem::KernelPreadv);
|
||||
LIB_FUNC("nKWi-N2HBV4", FileSystem::KernelPwrite);
|
||||
LIB_FUNC("mBd4AfLP+u8", FileSystem::KernelPwritev);
|
||||
LIB_FUNC("eV9wAD2riIA", FileSystem::KernelStat);
|
||||
LIB_FUNC("kBwCPsYX-m4", FileSystem::KernelFstat);
|
||||
LIB_FUNC("AUXVxWeJU-A", FileSystem::KernelUnlink);
|
||||
|
||||
@@ -1528,6 +1528,10 @@ struct NpEntitlementAccessAddcontEntitlementInfo {
|
||||
uint32_t download_status;
|
||||
};
|
||||
|
||||
struct NpEntitlementAccessEntitlementKey {
|
||||
uint8_t data[16];
|
||||
};
|
||||
|
||||
static constexpr NpEntitlementAccessAddcontEntitlementInfo NP_ENTITLEMENT_ACCESS_ADDON_LIST[] = {
|
||||
{{{"85y-je"}, {}}, 3, 4}, // GTA V hash 0xf4315381
|
||||
{{{"5d5c48"}, {}}, 3, 4}, // GTA V hash 0x961c34b0
|
||||
@@ -1614,12 +1618,31 @@ static int KYTY_SYSV_ABI NpEntitlementAccessGetAddcontEntitlementInfo(
|
||||
return NP_ENTITLEMENT_ACCESS_ERROR_NO_ENTITLEMENT;
|
||||
}
|
||||
|
||||
static int KYTY_SYSV_ABI NpEntitlementAccessGetEntitlementKey(
|
||||
uint32_t service_label, const NpUnifiedEntitlementLabel* entitlement_label,
|
||||
NpEntitlementAccessEntitlementKey* key) {
|
||||
PRINT_NAME();
|
||||
|
||||
LOGF("\t service_label = %" PRIu32 "\n"
|
||||
"\t entitlement_label = 0x%016" PRIx64 "\n"
|
||||
"\t key = 0x%016" PRIx64 "\n",
|
||||
service_label, reinterpret_cast<uint64_t>(entitlement_label),
|
||||
reinterpret_cast<uint64_t>(key));
|
||||
|
||||
if (entitlement_label == nullptr || key == nullptr) {
|
||||
return NP_ENTITLEMENT_ACCESS_ERROR_PARAMETER;
|
||||
}
|
||||
|
||||
return NP_ENTITLEMENT_ACCESS_ERROR_NO_ENTITLEMENT;
|
||||
}
|
||||
|
||||
LIB_DEFINE(InitNet_1_NpEntitlementAccess) {
|
||||
LIB_FUNC("jO8DM8oyego", LibNpEntitlementAccess::NpEntitlementAccessInitialize);
|
||||
LIB_FUNC("lPDO62PpJIA", LibNpEntitlementAccess::NpEntitlementAccessGetSkuFlag);
|
||||
LIB_FUNC("TFyU+KFBv54",
|
||||
LibNpEntitlementAccess::NpEntitlementAccessGetAddcontEntitlementInfoList);
|
||||
LIB_FUNC("xddD23+8TfQ", LibNpEntitlementAccess::NpEntitlementAccessGetAddcontEntitlementInfo);
|
||||
LIB_FUNC("5LiMEPuW0DQ", LibNpEntitlementAccess::NpEntitlementAccessGetEntitlementKey);
|
||||
}
|
||||
|
||||
} // namespace LibNpEntitlementAccess
|
||||
|
||||
@@ -47,4 +47,14 @@ LIB_DEFINE(InitVideoOut_1) {
|
||||
|
||||
} // namespace LibGen5
|
||||
|
||||
namespace LibGen5::VrrStatus {
|
||||
|
||||
LIB_VERSION("VideoOutVrrStatus", 1, "VideoOut", 1, 1);
|
||||
|
||||
LIB_DEFINE(InitVideoOutVrrStatus_1) {
|
||||
LIB_FUNC("kP2L8t3j-aM", VideoOut::VideoOutGetVrrStatus);
|
||||
}
|
||||
|
||||
} // namespace LibGen5::VrrStatus
|
||||
|
||||
} // namespace Libs
|
||||
|
||||
@@ -72,6 +72,9 @@ LIB_DEFINE(InitRtc_1);
|
||||
|
||||
namespace LibGen5 {
|
||||
LIB_DEFINE(InitVideoOut_1);
|
||||
namespace VrrStatus {
|
||||
LIB_DEFINE(InitVideoOutVrrStatus_1);
|
||||
} // namespace VrrStatus
|
||||
} // namespace LibGen5
|
||||
|
||||
LIB_DEFINE(InitAppContent_1);
|
||||
@@ -138,6 +141,7 @@ void InitAll(Loader::SymbolDatabase* s) {
|
||||
InitUserService_1(s);
|
||||
VideoDec2::InitVideoDec2_1(s);
|
||||
LibGen5::InitVideoOut_1(s);
|
||||
LibGen5::VrrStatus::InitVideoOutVrrStatus_1(s);
|
||||
InitWebBrowserDialog_1(s);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user