mig, bcat, svc

This commit is contained in:
Pavel Barabanov 2025-06-17 22:17:03 +03:00 committed by crueter
parent 46d11eaeaf
commit 9450fbf04e
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
3 changed files with 43 additions and 14 deletions

View file

@ -153,7 +153,8 @@ enum class InfoType : u32 {
ThreadTickCount = 25,
IsSvcPermitted = 26,
IoRegionHint = 27,
AliasRegionExtraSize = 28,
AliasRegionExtraSize = 28,
TransferMemoryHint = 34,
MesosphereMeta = 65000,
MesosphereCurrentProcess = 65001,
@ -643,6 +644,9 @@ enum class CreateProcessFlag : u32 {
// 11.x+ DisableDeviceAddressSpaceMerge.
DisableDeviceAddressSpaceMerge = (1 << 12),
EnableAliasRegionExtraSize = (1 << 13),
PreventCodeReads = (1 << 14),
// Mask of all flags.
All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication |
PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge,

View file

@ -49,12 +49,12 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
{30210, nullptr, "SetDeliveryTaskTimer"},
{30300, D<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
{90100, nullptr, "EnumerateBackgroundDeliveryTask"},
{90101, nullptr, "Unknown90101"},
{90101, nullptr, "GetDeliveryTaskListForSystem"},
{90200, nullptr, "GetDeliveryList"},
{90201, D<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
{90202, nullptr, "ClearDeliveryTaskSubscriptionStatus"},
{90300, nullptr, "GetPushNotificationLog"},
{90301, nullptr, "Unknown90301"},
{90301, nullptr, "GetDeliveryCacheStorageUsage"},
};
// clang-format on
RegisterHandlers(functions);

View file

@ -14,17 +14,42 @@ public:
explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} {
// clang-format off
static const FunctionInfo functions[] = {
{10, nullptr, "TryGetLastMigrationInfo"},
{100, nullptr, "CreateServer"},
{101, nullptr, "ResumeServer"},
{200, nullptr, "CreateClient"},
{201, nullptr, "ResumeClient"},
{1001, nullptr, "Unknown1001"},
{1010, nullptr, "Unknown1010"},
{1100, nullptr, "Unknown1100"},
{1101, nullptr, "Unknown1101"},
{1200, nullptr, "Unknown1200"},
{1201, nullptr, "Unknown1201"}
{0, nullptr, "Unknown0"}, // 19.0.0+
{1, nullptr, "Unknown1"}, // 20.0.0+
{2, nullptr, "Unknown2"}, // 20.0.0+
{10, nullptr, "TryGetLastUserMigrationInfo"}, // 7.0.0-19.0.1 (was TryGetLastMigrationInfo in 4.0.0-6.2.0)
{11, nullptr, "Unknown11"}, // 20.0.0+
{100, nullptr, "CreateUserMigrationServer"}, // 7.0.0+ (was CreateServer in 4.0.0-6.2.0)
{101, nullptr, "ResumeUserMigrationServer"}, // 7.0.0+ (was ResumeServer in 4.0.0-6.2.0)
{200, nullptr, "CreateUserMigrationClient"}, // 7.0.0+ (was CreateClient in 4.0.0-6.2.0)
{201, nullptr, "ResumeUserMigrationClient"}, // 7.0.0+ (was ResumeClient in 4.0.0-6.2.0)
{1001, nullptr, "GetSaveDataMigrationPolicyInfoAsync"}, // 8.0.0+
{1010, nullptr, "TryGetLastSaveDataMigrationInfo"}, // 7.0.0+
{1100, nullptr, "CreateSaveDataMigrationServer"}, // 7.0.0-19.0.1
{1101, nullptr, "ResumeSaveDataMigrationServer"}, // 7.0.0+
{1110, nullptr, "Unknown1110"}, // 17.0.0+
{1200, nullptr, "CreateSaveDataMigrationClient"}, // 7.0.0+
{1201, nullptr, "ResumeSaveDataMigrationClient"}, // 7.0.0+
{2001, nullptr, "Unknown2001"}, // 20.0.0+
{2010, nullptr, "Unknown2010"}, // 20.0.0+
{2100, nullptr, "Unknown2100"}, // 20.0.0+
{2110, nullptr, "Unknown2110"}, // 20.0.0+
{2200, nullptr, "Unknown2200"}, // 20.0.0+
{2210, nullptr, "Unknown2210"}, // 20.0.0+
{2220, nullptr, "Unknown2220"}, // 20.0.0+
{2230, nullptr, "Unknown2230"}, // 20.0.0+
{2231, nullptr, "Unknown2231"}, // 20.0.0+
{2232, nullptr, "Unknown2232"}, // 20.0.0+
{2233, nullptr, "Unknown2233"}, // 20.0.0+
{2234, nullptr, "Unknown2234"}, // 20.0.0+
{2250, nullptr, "Unknown2250"}, // 20.0.0+
{2260, nullptr, "Unknown2260"}, // 20.0.0+
{2270, nullptr, "Unknown2270"}, // 20.0.0+
{2280, nullptr, "Unknown2280"}, // 20.0.0+
{2300, nullptr, "Unknown2300"}, // 20.0.0+
{2310, nullptr, "Unknown2310"}, // 20.0.0+
{2400, nullptr, "Unknown2400"}, // 20.0.0+
{2420, nullptr, "Unknown2420"} // 20.0.0+
};
// clang-format on