forked from ShuriZma/suyu
1
0
Fork 0

Merge pull request #2072 from lioncash/service

service: Update function tables
This commit is contained in:
bunnei 2019-01-31 15:19:44 -05:00 committed by GitHub
commit b0b027d2d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 281 additions and 153 deletions

View File

@ -249,7 +249,8 @@ AppletAE::AppletAE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger,
{300, nullptr, "OpenOverlayAppletProxy"}, {300, nullptr, "OpenOverlayAppletProxy"},
{350, nullptr, "OpenSystemApplicationProxy"}, {350, nullptr, "OpenSystemApplicationProxy"},
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"}, {400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
{401, nullptr, "GetSystemAppletControllerForDebug"}, {410, nullptr, "GetSystemAppletControllerForDebug"},
{1000, nullptr, "GetDebugFunctions"},
}; };
// clang-format on // clang-format on

View File

@ -12,6 +12,7 @@ namespace Service::Audio {
class IAudioIn final : public ServiceFramework<IAudioIn> { class IAudioIn final : public ServiceFramework<IAudioIn> {
public: public:
IAudioIn() : ServiceFramework("IAudioIn") { IAudioIn() : ServiceFramework("IAudioIn") {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "GetAudioInState"}, {0, nullptr, "GetAudioInState"},
{1, nullptr, "StartAudioIn"}, {1, nullptr, "StartAudioIn"},
@ -28,16 +29,24 @@ public:
{12, nullptr, "SetAudioInDeviceGain"}, {12, nullptr, "SetAudioInDeviceGain"},
{13, nullptr, "GetAudioInDeviceGain"}, {13, nullptr, "GetAudioInDeviceGain"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }
~IAudioIn() = default; ~IAudioIn() = default;
}; };
AudInU::AudInU() : ServiceFramework("audin:u") { AudInU::AudInU() : ServiceFramework("audin:u") {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "ListAudioIns"}, {1, nullptr, "OpenAudioIn"}, {2, nullptr, "Unknown"}, {0, nullptr, "ListAudioIns"},
{3, nullptr, "OpenAudioInAuto"}, {4, nullptr, "ListAudioInsAuto"}, {1, nullptr, "OpenAudioIn"},
{2, nullptr, "Unknown"},
{3, nullptr, "OpenAudioInAuto"},
{4, nullptr, "ListAudioInsAuto"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }

View File

@ -12,6 +12,7 @@ namespace Service::Audio {
class IFinalOutputRecorder final : public ServiceFramework<IFinalOutputRecorder> { class IFinalOutputRecorder final : public ServiceFramework<IFinalOutputRecorder> {
public: public:
IFinalOutputRecorder() : ServiceFramework("IFinalOutputRecorder") { IFinalOutputRecorder() : ServiceFramework("IFinalOutputRecorder") {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "GetFinalOutputRecorderState"}, {0, nullptr, "GetFinalOutputRecorderState"},
{1, nullptr, "StartFinalOutputRecorder"}, {1, nullptr, "StartFinalOutputRecorder"},
@ -20,10 +21,13 @@ public:
{4, nullptr, "RegisterBufferEvent"}, {4, nullptr, "RegisterBufferEvent"},
{5, nullptr, "GetReleasedFinalOutputRecorderBuffer"}, {5, nullptr, "GetReleasedFinalOutputRecorderBuffer"},
{6, nullptr, "ContainsFinalOutputRecorderBuffer"}, {6, nullptr, "ContainsFinalOutputRecorderBuffer"},
{7, nullptr, "Unknown"}, {7, nullptr, "GetFinalOutputRecorderBufferEndTime"},
{8, nullptr, "AppendFinalOutputRecorderBufferAuto"}, {8, nullptr, "AppendFinalOutputRecorderBufferAuto"},
{9, nullptr, "GetReleasedFinalOutputRecorderBufferAuto"}, {9, nullptr, "GetReleasedFinalOutputRecorderBufferAuto"},
{10, nullptr, "FlushFinalOutputRecorderBuffers"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }
~IFinalOutputRecorder() = default; ~IFinalOutputRecorder() = default;

View File

@ -229,14 +229,16 @@ private:
}; // namespace Audio }; // namespace Audio
AudRenU::AudRenU() : ServiceFramework("audren:u") { AudRenU::AudRenU() : ServiceFramework("audren:u") {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &AudRenU::OpenAudioRenderer, "OpenAudioRenderer"}, {0, &AudRenU::OpenAudioRenderer, "OpenAudioRenderer"},
{1, &AudRenU::GetAudioRendererWorkBufferSize, "GetAudioRendererWorkBufferSize"}, {1, &AudRenU::GetAudioRendererWorkBufferSize, "GetAudioRendererWorkBufferSize"},
{2, &AudRenU::GetAudioDevice, "GetAudioDevice"}, {2, &AudRenU::GetAudioDeviceService, "GetAudioDeviceService"},
{3, nullptr, "OpenAudioRendererAuto"}, {3, nullptr, "OpenAudioRendererAuto"},
{4, &AudRenU::GetAudioDeviceServiceWithRevisionInfo, {4, &AudRenU::GetAudioDeviceServiceWithRevisionInfo, "GetAudioDeviceServiceWithRevisionInfo"},
"GetAudioDeviceServiceWithRevisionInfo"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }
@ -313,7 +315,7 @@ void AudRenU::GetAudioRendererWorkBufferSize(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_Audio, "buffer_size=0x{:X}", output_sz); LOG_DEBUG(Service_Audio, "buffer_size=0x{:X}", output_sz);
} }
void AudRenU::GetAudioDevice(Kernel::HLERequestContext& ctx) { void AudRenU::GetAudioDeviceService(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_Audio, "called"); LOG_DEBUG(Service_Audio, "called");
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; IPC::ResponseBuilder rb{ctx, 2, 0, 1};

View File

@ -20,7 +20,7 @@ public:
private: private:
void OpenAudioRenderer(Kernel::HLERequestContext& ctx); void OpenAudioRenderer(Kernel::HLERequestContext& ctx);
void GetAudioRendererWorkBufferSize(Kernel::HLERequestContext& ctx); void GetAudioRendererWorkBufferSize(Kernel::HLERequestContext& ctx);
void GetAudioDevice(Kernel::HLERequestContext& ctx); void GetAudioDeviceService(Kernel::HLERequestContext& ctx);
void GetAudioDeviceServiceWithRevisionInfo(Kernel::HLERequestContext& ctx); void GetAudioDeviceServiceWithRevisionInfo(Kernel::HLERequestContext& ctx);
enum class AudioFeatures : u32 { enum class AudioFeatures : u32 {

View File

@ -19,16 +19,16 @@ public:
explicit Bt() : ServiceFramework{"bt"} { explicit Bt() : ServiceFramework{"bt"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "Unknown0"}, {0, nullptr, "LeClientReadCharacteristic"},
{1, nullptr, "Unknown1"}, {1, nullptr, "LeClientReadDescriptor"},
{2, nullptr, "Unknown2"}, {2, nullptr, "LeClientWriteCharacteristic"},
{3, nullptr, "Unknown3"}, {3, nullptr, "LeClientWriteDescriptor"},
{4, nullptr, "Unknown4"}, {4, nullptr, "LeClientRegisterNotification"},
{5, nullptr, "Unknown5"}, {5, nullptr, "LeClientDeregisterNotification"},
{6, nullptr, "Unknown6"}, {6, nullptr, "SetLeResponse"},
{7, nullptr, "Unknown7"}, {7, nullptr, "LeSendIndication"},
{8, nullptr, "Unknown8"}, {8, nullptr, "GetLeEventInfo"},
{9, &Bt::RegisterEvent, "RegisterEvent"}, {9, &Bt::RegisterBleEvent, "RegisterBleEvent"},
}; };
// clang-format on // clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
@ -39,7 +39,7 @@ public:
} }
private: private:
void RegisterEvent(Kernel::HLERequestContext& ctx) { void RegisterBleEvent(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_BTM, "(STUBBED) called"); LOG_WARNING(Service_BTM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};
@ -55,11 +55,11 @@ public:
explicit BtDrv() : ServiceFramework{"btdrv"} { explicit BtDrv() : ServiceFramework{"btdrv"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "Unknown"}, {0, nullptr, "InitializeBluetoothDriver"},
{1, nullptr, "Init"}, {1, nullptr, "InitializeBluetooth"},
{2, nullptr, "Enable"}, {2, nullptr, "EnableBluetooth"},
{3, nullptr, "Disable"}, {3, nullptr, "DisableBluetooth"},
{4, nullptr, "CleanupAndShutdown"}, {4, nullptr, "CleanupBluetooth"},
{5, nullptr, "GetAdapterProperties"}, {5, nullptr, "GetAdapterProperties"},
{6, nullptr, "GetAdapterProperty"}, {6, nullptr, "GetAdapterProperty"},
{7, nullptr, "SetAdapterProperty"}, {7, nullptr, "SetAdapterProperty"},
@ -70,36 +70,91 @@ public:
{12, nullptr, "CancelBond"}, {12, nullptr, "CancelBond"},
{13, nullptr, "PinReply"}, {13, nullptr, "PinReply"},
{14, nullptr, "SspReply"}, {14, nullptr, "SspReply"},
{15, nullptr, "Unknown2"}, {15, nullptr, "GetEventInfo"},
{16, nullptr, "InitInterfaces"}, {16, nullptr, "InitializeHid"},
{17, nullptr, "HidHostInterface_Connect"}, {17, nullptr, "HidConnect"},
{18, nullptr, "HidHostInterface_Disconnect"}, {18, nullptr, "HidDisconnect"},
{19, nullptr, "HidHostInterface_SendData"}, {19, nullptr, "HidSendData"},
{20, nullptr, "HidHostInterface_SendData2"}, {20, nullptr, "HidSendData2"},
{21, nullptr, "HidHostInterface_SetReport"}, {21, nullptr, "HidSetReport"},
{22, nullptr, "HidHostInterface_GetReport"}, {22, nullptr, "HidGetReport"},
{23, nullptr, "HidHostInterface_WakeController"}, {23, nullptr, "HidWakeController"},
{24, nullptr, "HidHostInterface_AddPairedDevice"}, {24, nullptr, "HidAddPairedDevice"},
{25, nullptr, "HidHostInterface_GetPairedDevice"}, {25, nullptr, "HidGetPairedDevice"},
{26, nullptr, "HidHostInterface_CleanupAndShutdown"}, {26, nullptr, "CleanupHid"},
{27, nullptr, "Unknown3"}, {27, nullptr, "HidGetEventInfo"},
{28, nullptr, "ExtInterface_SetTSI"}, {28, nullptr, "ExtSetTsi"},
{29, nullptr, "ExtInterface_SetBurstMode"}, {29, nullptr, "ExtSetBurstMode"},
{30, nullptr, "ExtInterface_SetZeroRetran"}, {30, nullptr, "ExtSetZeroRetran"},
{31, nullptr, "ExtInterface_SetMcMode"}, {31, nullptr, "ExtSetMcMode"},
{32, nullptr, "ExtInterface_StartLlrMode"}, {32, nullptr, "ExtStartLlrMode"},
{33, nullptr, "ExtInterface_ExitLlrMode"}, {33, nullptr, "ExtExitLlrMode"},
{34, nullptr, "ExtInterface_SetRadio"}, {34, nullptr, "ExtSetRadio"},
{35, nullptr, "ExtInterface_SetVisibility"}, {35, nullptr, "ExtSetVisibility"},
{36, nullptr, "Unknown4"}, {36, nullptr, "ExtSetTbfcScan"},
{37, nullptr, "Unknown5"}, {37, nullptr, "RegisterHidReportEvent"},
{38, nullptr, "HidHostInterface_GetLatestPlr"}, {38, nullptr, "HidGetReportEventInfo"},
{39, nullptr, "ExtInterface_GetPendingConnections"}, {39, nullptr, "GetLatestPlr"},
{40, nullptr, "HidHostInterface_GetChannelMap"}, {40, nullptr, "ExtGetPendingConnections"},
{41, nullptr, "SetIsBluetoothBoostEnabled"}, {41, nullptr, "GetChannelMap"},
{42, nullptr, "GetIsBluetoothBoostEnabled"}, {42, nullptr, "EnableBluetoothBoostSetting"},
{43, nullptr, "SetIsBluetoothAfhEnabled"}, {43, nullptr, "IsBluetoothBoostSettingEnabled"},
{44, nullptr, "GetIsBluetoothAfhEnabled"}, {44, nullptr, "EnableBluetoothAfhSetting"},
{45, nullptr, "IsBluetoothAfhSettingEnabled"},
{46, nullptr, "InitializeBluetoothLe"},
{47, nullptr, "EnableBluetoothLe"},
{48, nullptr, "DisableBluetoothLe"},
{49, nullptr, "CleanupBluetoothLe"},
{50, nullptr, "SetLeVisibility"},
{51, nullptr, "SetLeConnectionParameter"},
{52, nullptr, "SetLeDefaultConnectionParameter"},
{53, nullptr, "SetLeAdvertiseData"},
{54, nullptr, "SetLeAdvertiseParameter"},
{55, nullptr, "StartLeScan"},
{56, nullptr, "StopLeScan"},
{57, nullptr, "AddLeScanFilterCondition"},
{58, nullptr, "DeleteLeScanFilterCondition"},
{59, nullptr, "DeleteLeScanFilter"},
{60, nullptr, "ClearLeScanFilters"},
{61, nullptr, "EnableLeScanFilter"},
{62, nullptr, "RegisterLeClient"},
{63, nullptr, "UnregisterLeClient"},
{64, nullptr, "UnregisterLeClientAll"},
{65, nullptr, "LeClientConnect"},
{66, nullptr, "LeClientCancelConnection"},
{67, nullptr, "LeClientDisconnect"},
{68, nullptr, "LeClientGetAttributes"},
{69, nullptr, "LeClientDiscoverService"},
{70, nullptr, "LeClientConfigureMtu"},
{71, nullptr, "RegisterLeServer"},
{72, nullptr, "UnregisterLeServer"},
{73, nullptr, "LeServerConnect"},
{74, nullptr, "LeServerDisconnect"},
{75, nullptr, "CreateLeService"},
{76, nullptr, "StartLeService"},
{77, nullptr, "AddLeCharacteristic"},
{78, nullptr, "AddLeDescriptor"},
{79, nullptr, "GetLeCoreEventInfo"},
{80, nullptr, "LeGetFirstCharacteristic"},
{81, nullptr, "LeGetNextCharacteristic"},
{82, nullptr, "LeGetFirstDescriptor"},
{83, nullptr, "LeGetNextDescriptor"},
{84, nullptr, "RegisterLeCoreDataPath"},
{85, nullptr, "UnregisterLeCoreDataPath"},
{86, nullptr, "RegisterLeHidDataPath"},
{87, nullptr, "UnregisterLeHidDataPath"},
{88, nullptr, "RegisterLeDataPath"},
{89, nullptr, "UnregisterLeDataPath"},
{90, nullptr, "LeClientReadCharacteristic"},
{91, nullptr, "LeClientReadDescriptor"},
{92, nullptr, "LeClientWriteCharacteristic"},
{93, nullptr, "LeClientWriteDescriptor"},
{94, nullptr, "LeClientRegisterNotification"},
{95, nullptr, "LeClientDeregisterNotification"},
{96, nullptr, "GetLeHidEventInfo"},
{97, nullptr, "RegisterBleHidEvent"},
{98, nullptr, "SetLeScanParameter"},
{256, nullptr, "GetIsManufacturingMode"}
}; };
// clang-format on // clang-format on

View File

@ -20,38 +20,38 @@ public:
explicit IBtmUserCore() : ServiceFramework{"IBtmUserCore"} { explicit IBtmUserCore() : ServiceFramework{"IBtmUserCore"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &IBtmUserCore::GetScanEvent, "GetScanEvent"}, {0, &IBtmUserCore::AcquireBleScanEvent, "AcquireBleScanEvent"},
{1, nullptr, "Unknown1"}, {1, nullptr, "GetBleScanFilterParameter"},
{2, nullptr, "Unknown2"}, {2, nullptr, "GetBleScanFilterParameter2"},
{3, nullptr, "Unknown3"}, {3, nullptr, "StartBleScanForGeneral"},
{4, nullptr, "Unknown4"}, {4, nullptr, "StopBleScanForGeneral"},
{5, nullptr, "Unknown5"}, {5, nullptr, "GetBleScanResultsForGeneral"},
{6, nullptr, "Unknown6"}, {6, nullptr, "StartBleScanForPaired"},
{7, nullptr, "Unknown7"}, {7, nullptr, "StopBleScanForPaired"},
{8, nullptr, "Unknown8"}, {8, nullptr, "StartBleScanForSmartDevice"},
{9, nullptr, "Unknown9"}, {9, nullptr, "StopBleScanForSmartDevice"},
{10, nullptr, "Unknown10"}, {10, nullptr, "GetBleScanResultsForSmartDevice"},
{17, &IBtmUserCore::GetConnectionEvent, "GetConnectionEvent"}, {17, &IBtmUserCore::AcquireBleConnectionEvent, "AcquireBleConnectionEvent"},
{18, nullptr, "Unknown18"}, {18, nullptr, "BleConnect"},
{19, nullptr, "Unknown19"}, {19, nullptr, "BleDisconnect"},
{20, nullptr, "Unknown20"}, {20, nullptr, "BleGetConnectionState"},
{21, nullptr, "Unknown21"}, {21, nullptr, "AcquireBlePairingEvent"},
{22, nullptr, "Unknown22"}, {22, nullptr, "BlePairDevice"},
{23, nullptr, "Unknown23"}, {23, nullptr, "BleUnPairDevice"},
{24, nullptr, "Unknown24"}, {24, nullptr, "BleUnPairDevice2"},
{25, nullptr, "Unknown25"}, {25, nullptr, "BleGetPairedDevices"},
{26, &IBtmUserCore::GetDiscoveryEvent, "AcquireBleServiceDiscoveryEventImpl"}, {26, &IBtmUserCore::AcquireBleServiceDiscoveryEvent, "AcquireBleServiceDiscoveryEvent"},
{27, nullptr, "Unknown27"}, {27, nullptr, "GetGattServices"},
{28, nullptr, "Unknown28"}, {28, nullptr, "GetGattService"},
{29, nullptr, "Unknown29"}, {29, nullptr, "GetGattIncludedServices"},
{30, nullptr, "Unknown30"}, {30, nullptr, "GetBelongingGattService"},
{31, nullptr, "Unknown31"}, {31, nullptr, "GetGattCharacteristics"},
{32, nullptr, "Unknown32"}, {32, nullptr, "GetGattDescriptors"},
{33, &IBtmUserCore::GetConfigEvent, "GetConfigEvent"}, {33, &IBtmUserCore::AcquireBleMtuConfigEvent, "AcquireBleMtuConfigEvent"},
{34, nullptr, "Unknown34"}, {34, nullptr, "ConfigureBleMtu"},
{35, nullptr, "Unknown35"}, {35, nullptr, "GetBleMtu"},
{36, nullptr, "Unknown36"}, {36, nullptr, "RegisterBleGattDataPath"},
{37, nullptr, "Unknown37"}, {37, nullptr, "UnregisterBleGattDataPath"},
}; };
// clang-format on // clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
@ -68,7 +68,7 @@ public:
} }
private: private:
void GetScanEvent(Kernel::HLERequestContext& ctx) { void AcquireBleScanEvent(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_BTM, "(STUBBED) called"); LOG_WARNING(Service_BTM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};
@ -76,7 +76,7 @@ private:
rb.PushCopyObjects(scan_event.readable); rb.PushCopyObjects(scan_event.readable);
} }
void GetConnectionEvent(Kernel::HLERequestContext& ctx) { void AcquireBleConnectionEvent(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_BTM, "(STUBBED) called"); LOG_WARNING(Service_BTM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};
@ -84,7 +84,7 @@ private:
rb.PushCopyObjects(connection_event.readable); rb.PushCopyObjects(connection_event.readable);
} }
void GetDiscoveryEvent(Kernel::HLERequestContext& ctx) { void AcquireBleServiceDiscoveryEvent(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_BTM, "(STUBBED) called"); LOG_WARNING(Service_BTM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};
@ -92,7 +92,7 @@ private:
rb.PushCopyObjects(service_discovery.readable); rb.PushCopyObjects(service_discovery.readable);
} }
void GetConfigEvent(Kernel::HLERequestContext& ctx) { void AcquireBleMtuConfigEvent(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_BTM, "(STUBBED) called"); LOG_WARNING(Service_BTM, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};
@ -111,14 +111,14 @@ public:
explicit BTM_USR() : ServiceFramework{"btm:u"} { explicit BTM_USR() : ServiceFramework{"btm:u"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &BTM_USR::GetCoreImpl, "GetCoreImpl"}, {0, &BTM_USR::GetCore, "GetCore"},
}; };
// clang-format on // clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }
private: private:
void GetCoreImpl(Kernel::HLERequestContext& ctx) { void GetCore(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_BTM, "called"); LOG_DEBUG(Service_BTM, "called");
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; IPC::ResponseBuilder rb{ctx, 2, 0, 1};
@ -134,26 +134,64 @@ public:
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "Unknown1"}, {0, nullptr, "Unknown1"},
{1, nullptr, "Unknown2"}, {1, nullptr, "Unknown2"},
{2, nullptr, "RegisterSystemEventForConnectedDeviceConditionImpl"}, {2, nullptr, "RegisterSystemEventForConnectedDeviceCondition"},
{3, nullptr, "Unknown3"}, {3, nullptr, "Unknown3"},
{4, nullptr, "Unknown4"}, {4, nullptr, "Unknown4"},
{5, nullptr, "Unknown5"}, {5, nullptr, "Unknown5"},
{6, nullptr, "Unknown6"}, {6, nullptr, "Unknown6"},
{7, nullptr, "Unknown7"}, {7, nullptr, "Unknown7"},
{8, nullptr, "RegisterSystemEventForRegisteredDeviceInfoImpl"}, {8, nullptr, "RegisterSystemEventForRegisteredDeviceInfo"},
{9, nullptr, "Unknown8"}, {9, nullptr, "Unknown8"},
{10, nullptr, "Unknown9"}, {10, nullptr, "Unknown9"},
{11, nullptr, "Unknown10"}, {11, nullptr, "Unknown10"},
{12, nullptr, "Unknown11"}, {12, nullptr, "Unknown11"},
{13, nullptr, "Unknown12"}, {13, nullptr, "Unknown12"},
{14, nullptr, "EnableRadioImpl"}, {14, nullptr, "EnableRadio"},
{15, nullptr, "DisableRadioImpl"}, {15, nullptr, "DisableRadio"},
{16, nullptr, "Unknown13"}, {16, nullptr, "Unknown13"},
{17, nullptr, "Unknown14"}, {17, nullptr, "Unknown14"},
{18, nullptr, "Unknown15"}, {18, nullptr, "Unknown15"},
{19, nullptr, "Unknown16"}, {19, nullptr, "Unknown16"},
{20, nullptr, "Unknown17"}, {20, nullptr, "Unknown17"},
{21, nullptr, "Unknown18"}, {21, nullptr, "Unknown18"},
{22, nullptr, "Unknown19"},
{23, nullptr, "Unknown20"},
{24, nullptr, "Unknown21"},
{25, nullptr, "Unknown22"},
{26, nullptr, "Unknown23"},
{27, nullptr, "Unknown24"},
{28, nullptr, "Unknown25"},
{29, nullptr, "Unknown26"},
{30, nullptr, "Unknown27"},
{31, nullptr, "Unknown28"},
{32, nullptr, "Unknown29"},
{33, nullptr, "Unknown30"},
{34, nullptr, "Unknown31"},
{35, nullptr, "Unknown32"},
{36, nullptr, "Unknown33"},
{37, nullptr, "Unknown34"},
{38, nullptr, "Unknown35"},
{39, nullptr, "Unknown36"},
{40, nullptr, "Unknown37"},
{41, nullptr, "Unknown38"},
{42, nullptr, "Unknown39"},
{43, nullptr, "Unknown40"},
{44, nullptr, "Unknown41"},
{45, nullptr, "Unknown42"},
{46, nullptr, "Unknown43"},
{47, nullptr, "Unknown44"},
{48, nullptr, "Unknown45"},
{49, nullptr, "Unknown46"},
{50, nullptr, "Unknown47"},
{51, nullptr, "Unknown48"},
{52, nullptr, "Unknown49"},
{53, nullptr, "Unknown50"},
{54, nullptr, "Unknown51"},
{55, nullptr, "Unknown52"},
{56, nullptr, "Unknown53"},
{57, nullptr, "Unknown54"},
{58, nullptr, "Unknown55"},
{59, nullptr, "Unknown56"},
}; };
// clang-format on // clang-format on
@ -166,7 +204,7 @@ public:
explicit BTM_DBG() : ServiceFramework{"btm:dbg"} { explicit BTM_DBG() : ServiceFramework{"btm:dbg"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "RegisterSystemEventForDiscoveryImpl"}, {0, nullptr, "RegisterSystemEventForDiscovery"},
{1, nullptr, "Unknown1"}, {1, nullptr, "Unknown1"},
{2, nullptr, "Unknown2"}, {2, nullptr, "Unknown2"},
{3, nullptr, "Unknown3"}, {3, nullptr, "Unknown3"},
@ -175,6 +213,10 @@ public:
{6, nullptr, "Unknown6"}, {6, nullptr, "Unknown6"},
{7, nullptr, "Unknown7"}, {7, nullptr, "Unknown7"},
{8, nullptr, "Unknown8"}, {8, nullptr, "Unknown8"},
{9, nullptr, "Unknown9"},
{10, nullptr, "Unknown10"},
{11, nullptr, "Unknown11"},
{12, nullptr, "Unknown11"},
}; };
// clang-format on // clang-format on
@ -187,16 +229,16 @@ public:
explicit IBtmSystemCore() : ServiceFramework{"IBtmSystemCore"} { explicit IBtmSystemCore() : ServiceFramework{"IBtmSystemCore"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "StartGamepadPairingImpl"}, {0, nullptr, "StartGamepadPairing"},
{1, nullptr, "CancelGamepadPairingImpl"}, {1, nullptr, "CancelGamepadPairing"},
{2, nullptr, "ClearGamepadPairingDatabaseImpl"}, {2, nullptr, "ClearGamepadPairingDatabase"},
{3, nullptr, "GetPairedGamepadCountImpl"}, {3, nullptr, "GetPairedGamepadCount"},
{4, nullptr, "EnableRadioImpl"}, {4, nullptr, "EnableRadio"},
{5, nullptr, "DisableRadioImpl"}, {5, nullptr, "DisableRadio"},
{6, nullptr, "GetRadioOnOffImpl"}, {6, nullptr, "GetRadioOnOff"},
{7, nullptr, "AcquireRadioEventImpl"}, {7, nullptr, "AcquireRadioEvent"},
{8, nullptr, "AcquireGamepadPairingEventImpl"}, {8, nullptr, "AcquireGamepadPairingEvent"},
{9, nullptr, "IsGamepadPairingStartedImpl"}, {9, nullptr, "IsGamepadPairingStarted"},
}; };
// clang-format on // clang-format on
@ -209,7 +251,7 @@ public:
explicit BTM_SYS() : ServiceFramework{"btm:sys"} { explicit BTM_SYS() : ServiceFramework{"btm:sys"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &BTM_SYS::GetCoreImpl, "GetCoreImpl"}, {0, &BTM_SYS::GetCore, "GetCore"},
}; };
// clang-format on // clang-format on
@ -217,7 +259,7 @@ public:
} }
private: private:
void GetCoreImpl(Kernel::HLERequestContext& ctx) { void GetCore(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_BTM, "called"); LOG_DEBUG(Service_BTM, "called");
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; IPC::ResponseBuilder rb{ctx, 2, 0, 1};

View File

@ -627,8 +627,8 @@ private:
FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") { FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "MountContent"}, {0, nullptr, "OpenFileSystem"},
{1, &FSP_SRV::Initialize, "Initialize"}, {1, &FSP_SRV::SetCurrentProcess, "SetCurrentProcess"},
{2, nullptr, "OpenDataFileSystemByCurrentProcess"}, {2, nullptr, "OpenDataFileSystemByCurrentProcess"},
{7, &FSP_SRV::OpenFileSystemWithPatch, "OpenFileSystemWithPatch"}, {7, &FSP_SRV::OpenFileSystemWithPatch, "OpenFileSystemWithPatch"},
{8, nullptr, "OpenFileSystemWithId"}, {8, nullptr, "OpenFileSystemWithId"},
@ -637,10 +637,10 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
{12, nullptr, "OpenBisStorage"}, {12, nullptr, "OpenBisStorage"},
{13, nullptr, "InvalidateBisCache"}, {13, nullptr, "InvalidateBisCache"},
{17, nullptr, "OpenHostFileSystem"}, {17, nullptr, "OpenHostFileSystem"},
{18, &FSP_SRV::MountSdCard, "MountSdCard"}, {18, &FSP_SRV::OpenSdCardFileSystem, "OpenSdCardFileSystem"},
{19, nullptr, "FormatSdCardFileSystem"}, {19, nullptr, "FormatSdCardFileSystem"},
{21, nullptr, "DeleteSaveDataFileSystem"}, {21, nullptr, "DeleteSaveDataFileSystem"},
{22, &FSP_SRV::CreateSaveData, "CreateSaveData"}, {22, &FSP_SRV::CreateSaveDataFileSystem, "CreateSaveDataFileSystem"},
{23, nullptr, "CreateSaveDataFileSystemBySystemSaveDataId"}, {23, nullptr, "CreateSaveDataFileSystemBySystemSaveDataId"},
{24, nullptr, "RegisterSaveDataFileSystemAtomicDeletion"}, {24, nullptr, "RegisterSaveDataFileSystemAtomicDeletion"},
{25, nullptr, "DeleteSaveDataFileSystemBySaveDataSpaceId"}, {25, nullptr, "DeleteSaveDataFileSystemBySaveDataSpaceId"},
@ -652,7 +652,8 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
{32, nullptr, "ExtendSaveDataFileSystem"}, {32, nullptr, "ExtendSaveDataFileSystem"},
{33, nullptr, "DeleteCacheStorage"}, {33, nullptr, "DeleteCacheStorage"},
{34, nullptr, "GetCacheStorageSize"}, {34, nullptr, "GetCacheStorageSize"},
{51, &FSP_SRV::MountSaveData, "MountSaveData"}, {35, nullptr, "CreateSaveDataFileSystemByHashSalt"},
{51, &FSP_SRV::OpenSaveDataFileSystem, "OpenSaveDataFileSystem"},
{52, nullptr, "OpenSaveDataFileSystemBySystemSaveDataId"}, {52, nullptr, "OpenSaveDataFileSystemBySystemSaveDataId"},
{53, &FSP_SRV::OpenReadOnlySaveDataFileSystem, "OpenReadOnlySaveDataFileSystem"}, {53, &FSP_SRV::OpenReadOnlySaveDataFileSystem, "OpenReadOnlySaveDataFileSystem"},
{57, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataSpaceId"}, {57, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataSpaceId"},
@ -664,21 +665,26 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
{64, nullptr, "OpenSaveDataInternalStorageFileSystem"}, {64, nullptr, "OpenSaveDataInternalStorageFileSystem"},
{65, nullptr, "UpdateSaveDataMacForDebug"}, {65, nullptr, "UpdateSaveDataMacForDebug"},
{66, nullptr, "WriteSaveDataFileSystemExtraData2"}, {66, nullptr, "WriteSaveDataFileSystemExtraData2"},
{67, nullptr, "FindSaveDataWithFilter"},
{68, nullptr, "OpenSaveDataInfoReaderBySaveDataFilter"},
{80, nullptr, "OpenSaveDataMetaFile"}, {80, nullptr, "OpenSaveDataMetaFile"},
{81, nullptr, "OpenSaveDataTransferManager"}, {81, nullptr, "OpenSaveDataTransferManager"},
{82, nullptr, "OpenSaveDataTransferManagerVersion2"}, {82, nullptr, "OpenSaveDataTransferManagerVersion2"},
{83, nullptr, "OpenSaveDataTransferProhibiterForCloudBackUp"}, {83, nullptr, "OpenSaveDataTransferProhibiterForCloudBackUp"},
{84, nullptr, "ListApplicationAccessibleSaveDataOwnerId"},
{100, nullptr, "OpenImageDirectoryFileSystem"}, {100, nullptr, "OpenImageDirectoryFileSystem"},
{110, nullptr, "OpenContentStorageFileSystem"}, {110, nullptr, "OpenContentStorageFileSystem"},
{120, nullptr, "OpenCloudBackupWorkStorageFileSystem"},
{200, &FSP_SRV::OpenDataStorageByCurrentProcess, "OpenDataStorageByCurrentProcess"}, {200, &FSP_SRV::OpenDataStorageByCurrentProcess, "OpenDataStorageByCurrentProcess"},
{201, nullptr, "OpenDataStorageByProgramId"}, {201, nullptr, "OpenDataStorageByProgramId"},
{202, &FSP_SRV::OpenDataStorageByDataId, "OpenDataStorageByDataId"}, {202, &FSP_SRV::OpenDataStorageByDataId, "OpenDataStorageByDataId"},
{203, &FSP_SRV::OpenRomStorage, "OpenRomStorage"}, {203, &FSP_SRV::OpenPatchDataStorageByCurrentProcess, "OpenPatchDataStorageByCurrentProcess"},
{400, nullptr, "OpenDeviceOperator"}, {400, nullptr, "OpenDeviceOperator"},
{500, nullptr, "OpenSdCardDetectionEventNotifier"}, {500, nullptr, "OpenSdCardDetectionEventNotifier"},
{501, nullptr, "OpenGameCardDetectionEventNotifier"}, {501, nullptr, "OpenGameCardDetectionEventNotifier"},
{510, nullptr, "OpenSystemDataUpdateEventNotifier"}, {510, nullptr, "OpenSystemDataUpdateEventNotifier"},
{511, nullptr, "NotifySystemDataUpdateEvent"}, {511, nullptr, "NotifySystemDataUpdateEvent"},
{520, nullptr, "SimulateGameCardDetectionEvent"},
{600, nullptr, "SetCurrentPosixTime"}, {600, nullptr, "SetCurrentPosixTime"},
{601, nullptr, "QuerySaveDataTotalSize"}, {601, nullptr, "QuerySaveDataTotalSize"},
{602, nullptr, "VerifySaveDataFileSystem"}, {602, nullptr, "VerifySaveDataFileSystem"},
@ -717,6 +723,8 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
{1008, nullptr, "OpenRegisteredUpdatePartition"}, {1008, nullptr, "OpenRegisteredUpdatePartition"},
{1009, nullptr, "GetAndClearMemoryReportInfo"}, {1009, nullptr, "GetAndClearMemoryReportInfo"},
{1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"},
{1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"},
{1200, nullptr, "OpenMultiCommitManager"},
}; };
// clang-format on // clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
@ -724,7 +732,7 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
FSP_SRV::~FSP_SRV() = default; FSP_SRV::~FSP_SRV() = default;
void FSP_SRV::Initialize(Kernel::HLERequestContext& ctx) { void FSP_SRV::SetCurrentProcess(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_FS, "(STUBBED) called"); LOG_WARNING(Service_FS, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
@ -743,7 +751,7 @@ void FSP_SRV::OpenFileSystemWithPatch(Kernel::HLERequestContext& ctx) {
rb.Push(ResultCode(-1)); rb.Push(ResultCode(-1));
} }
void FSP_SRV::MountSdCard(Kernel::HLERequestContext& ctx) { void FSP_SRV::OpenSdCardFileSystem(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_FS, "called"); LOG_DEBUG(Service_FS, "called");
IFileSystem filesystem(OpenSDMC().Unwrap()); IFileSystem filesystem(OpenSDMC().Unwrap());
@ -753,7 +761,7 @@ void FSP_SRV::MountSdCard(Kernel::HLERequestContext& ctx) {
rb.PushIpcInterface<IFileSystem>(std::move(filesystem)); rb.PushIpcInterface<IFileSystem>(std::move(filesystem));
} }
void FSP_SRV::CreateSaveData(Kernel::HLERequestContext& ctx) { void FSP_SRV::CreateSaveDataFileSystem(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
auto save_struct = rp.PopRaw<FileSys::SaveDataDescriptor>(); auto save_struct = rp.PopRaw<FileSys::SaveDataDescriptor>();
@ -767,7 +775,7 @@ void FSP_SRV::CreateSaveData(Kernel::HLERequestContext& ctx) {
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
} }
void FSP_SRV::MountSaveData(Kernel::HLERequestContext& ctx) { void FSP_SRV::OpenSaveDataFileSystem(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
auto space_id = rp.PopRaw<FileSys::SaveDataSpaceId>(); auto space_id = rp.PopRaw<FileSys::SaveDataSpaceId>();
@ -793,7 +801,7 @@ void FSP_SRV::MountSaveData(Kernel::HLERequestContext& ctx) {
void FSP_SRV::OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx) { void FSP_SRV::OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem"); LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem");
MountSaveData(ctx); OpenSaveDataFileSystem(ctx);
} }
void FSP_SRV::OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx) { void FSP_SRV::OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx) {
@ -881,7 +889,7 @@ void FSP_SRV::OpenDataStorageByDataId(Kernel::HLERequestContext& ctx) {
rb.PushIpcInterface<IStorage>(std::move(storage)); rb.PushIpcInterface<IStorage>(std::move(storage));
} }
void FSP_SRV::OpenRomStorage(Kernel::HLERequestContext& ctx) { void FSP_SRV::OpenPatchDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
auto storage_id = rp.PopRaw<FileSys::StorageId>(); auto storage_id = rp.PopRaw<FileSys::StorageId>();

View File

@ -19,17 +19,17 @@ public:
~FSP_SRV() override; ~FSP_SRV() override;
private: private:
void Initialize(Kernel::HLERequestContext& ctx); void SetCurrentProcess(Kernel::HLERequestContext& ctx);
void OpenFileSystemWithPatch(Kernel::HLERequestContext& ctx); void OpenFileSystemWithPatch(Kernel::HLERequestContext& ctx);
void MountSdCard(Kernel::HLERequestContext& ctx); void OpenSdCardFileSystem(Kernel::HLERequestContext& ctx);
void CreateSaveData(Kernel::HLERequestContext& ctx); void CreateSaveDataFileSystem(Kernel::HLERequestContext& ctx);
void MountSaveData(Kernel::HLERequestContext& ctx); void OpenSaveDataFileSystem(Kernel::HLERequestContext& ctx);
void OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx); void OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx);
void OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx); void OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx);
void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx); void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx);
void OpenDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx); void OpenDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);
void OpenDataStorageByDataId(Kernel::HLERequestContext& ctx); void OpenDataStorageByDataId(Kernel::HLERequestContext& ctx);
void OpenRomStorage(Kernel::HLERequestContext& ctx); void OpenPatchDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);
FileSys::VirtualFile romfs; FileSys::VirtualFile romfs;
}; };

View File

@ -40,10 +40,10 @@ public:
{6, nullptr, "CloseContentStorageForcibly"}, {6, nullptr, "CloseContentStorageForcibly"},
{7, nullptr, "CloseContentMetaDatabaseForcibly"}, {7, nullptr, "CloseContentMetaDatabaseForcibly"},
{8, nullptr, "CleanupContentMetaDatabase"}, {8, nullptr, "CleanupContentMetaDatabase"},
{9, nullptr, "OpenContentStorage2"}, {9, nullptr, "ActivateContentStorage"},
{10, nullptr, "CloseContentStorage"}, {10, nullptr, "InactivateContentStorage"},
{11, nullptr, "OpenContentMetaDatabase2"}, {11, nullptr, "ActivateContentMetaDatabase"},
{12, nullptr, "CloseContentMetaDatabase"}, {12, nullptr, "InactivateContentMetaDatabase"},
}; };
// clang-format on // clang-format on

View File

@ -43,7 +43,7 @@ public:
{11, nullptr, "CalculateApplicationOccupiedSize"}, {11, nullptr, "CalculateApplicationOccupiedSize"},
{16, nullptr, "PushApplicationRecord"}, {16, nullptr, "PushApplicationRecord"},
{17, nullptr, "ListApplicationRecordContentMeta"}, {17, nullptr, "ListApplicationRecordContentMeta"},
{19, nullptr, "LaunchApplication"}, {19, nullptr, "LaunchApplicationOld"},
{21, nullptr, "GetApplicationContentPath"}, {21, nullptr, "GetApplicationContentPath"},
{22, nullptr, "TerminateApplication"}, {22, nullptr, "TerminateApplication"},
{23, nullptr, "ResolveApplicationContentPath"}, {23, nullptr, "ResolveApplicationContentPath"},
@ -96,10 +96,10 @@ public:
{86, nullptr, "EnableApplicationCrashReport"}, {86, nullptr, "EnableApplicationCrashReport"},
{87, nullptr, "IsApplicationCrashReportEnabled"}, {87, nullptr, "IsApplicationCrashReportEnabled"},
{90, nullptr, "BoostSystemMemoryResourceLimit"}, {90, nullptr, "BoostSystemMemoryResourceLimit"},
{91, nullptr, "Unknown1"}, {91, nullptr, "DeprecatedLaunchApplication"},
{92, nullptr, "Unknown2"}, {92, nullptr, "GetRunningApplicationProgramId"},
{93, nullptr, "GetMainApplicationProgramIndex"}, {93, nullptr, "GetMainApplicationProgramIndex"},
{94, nullptr, "LaunchApplication2"}, {94, nullptr, "LaunchApplication"},
{95, nullptr, "GetApplicationLaunchInfo"}, {95, nullptr, "GetApplicationLaunchInfo"},
{96, nullptr, "AcquireApplicationLaunchInfo"}, {96, nullptr, "AcquireApplicationLaunchInfo"},
{97, nullptr, "GetMainApplicationProgramIndex2"}, {97, nullptr, "GetMainApplicationProgramIndex2"},
@ -163,7 +163,7 @@ public:
{907, nullptr, "WithdrawApplicationUpdateRequest"}, {907, nullptr, "WithdrawApplicationUpdateRequest"},
{908, nullptr, "ListApplicationRecordInstalledContentMeta"}, {908, nullptr, "ListApplicationRecordInstalledContentMeta"},
{909, nullptr, "WithdrawCleanupAddOnContentsWithNoRightsRecommendation"}, {909, nullptr, "WithdrawCleanupAddOnContentsWithNoRightsRecommendation"},
{910, nullptr, "Unknown3"}, {910, nullptr, "HasApplicationRecord"},
{911, nullptr, "SetPreInstalledApplication"}, {911, nullptr, "SetPreInstalledApplication"},
{912, nullptr, "ClearPreInstalledApplicationFlag"}, {912, nullptr, "ClearPreInstalledApplicationFlag"},
{1000, nullptr, "RequestVerifyApplicationDeprecated"}, {1000, nullptr, "RequestVerifyApplicationDeprecated"},
@ -219,10 +219,10 @@ public:
{2015, nullptr, "CompareSystemDeliveryInfo"}, {2015, nullptr, "CompareSystemDeliveryInfo"},
{2016, nullptr, "ListNotCommittedContentMeta"}, {2016, nullptr, "ListNotCommittedContentMeta"},
{2017, nullptr, "CreateDownloadTask"}, {2017, nullptr, "CreateDownloadTask"},
{2018, nullptr, "Unknown4"}, {2018, nullptr, "GetApplicationDeliveryInfoHash"},
{2050, nullptr, "Unknown5"}, {2050, nullptr, "GetApplicationRightsOnClient"},
{2100, nullptr, "Unknown6"}, {2100, nullptr, "GetApplicationTerminateResult"},
{2101, nullptr, "Unknown7"}, {2101, nullptr, "GetRawApplicationTerminateResult"},
{2150, nullptr, "CreateRightsEnvironment"}, {2150, nullptr, "CreateRightsEnvironment"},
{2151, nullptr, "DestroyRightsEnvironment"}, {2151, nullptr, "DestroyRightsEnvironment"},
{2152, nullptr, "ActivateRightsEnvironment"}, {2152, nullptr, "ActivateRightsEnvironment"},
@ -237,10 +237,10 @@ public:
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"}, {2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"}, {2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
{2199, nullptr, "GetRightsEnvironmentCountForDebug"}, {2199, nullptr, "GetRightsEnvironmentCountForDebug"},
{2200, nullptr, "Unknown8"}, {2200, nullptr, "GetGameCardApplicationCopyIdentifier"},
{2201, nullptr, "Unknown9"}, {2201, nullptr, "GetInstalledApplicationCopyIdentifier"},
{2250, nullptr, "Unknown10"}, {2250, nullptr, "RequestReportActiveELicence"},
{2300, nullptr, "Unknown11"}, {2300, nullptr, "ListEventLog"},
}; };
// clang-format on // clang-format on
@ -355,6 +355,7 @@ public:
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{21, nullptr, "GetApplicationContentPath"}, {21, nullptr, "GetApplicationContentPath"},
{23, nullptr, "ResolveApplicationContentPath"}, {23, nullptr, "ResolveApplicationContentPath"},
{93, nullptr, "GetRunningApplicationProgramId"},
}; };
// clang-format on // clang-format on
@ -389,6 +390,11 @@ public:
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "RequestLinkDevice"}, {0, nullptr, "RequestLinkDevice"},
{1, nullptr, "RequestCleanupAllPreInstalledApplications"},
{2, nullptr, "RequestCleanupPreInstalledApplication"},
{3, nullptr, "RequestSyncRights"},
{4, nullptr, "RequestUnlinkDevice"},
{5, nullptr, "RequestRevokeAllELicense"},
}; };
// clang-format on // clang-format on

View File

@ -17,13 +17,13 @@ public:
explicit PSC_C() : ServiceFramework{"psc:c"} { explicit PSC_C() : ServiceFramework{"psc:c"} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, nullptr, "Unknown1"}, {0, nullptr, "Initialize"},
{1, nullptr, "Unknown2"}, {1, nullptr, "DispatchRequest"},
{2, nullptr, "Unknown3"}, {2, nullptr, "GetResult"},
{3, nullptr, "Unknown4"}, {3, nullptr, "GetState"},
{4, nullptr, "Unknown5"}, {4, nullptr, "Cancel"},
{5, nullptr, "Unknown6"}, {5, nullptr, "PrintModuleInformation"},
{6, nullptr, "Unknown7"}, {6, nullptr, "GetModuleInformation"},
}; };
// clang-format on // clang-format on
@ -39,7 +39,8 @@ public:
{0, nullptr, "Initialize"}, {0, nullptr, "Initialize"},
{1, nullptr, "GetRequest"}, {1, nullptr, "GetRequest"},
{2, nullptr, "Acknowledge"}, {2, nullptr, "Acknowledge"},
{3, nullptr, "Unknown1"}, {3, nullptr, "Finalize"},
{4, nullptr, "AcknowledgeEx"},
}; };
// clang-format on // clang-format on