forked from suyu/suyu
Merge pull request #2072 from lioncash/service
service: Update function tables
This commit is contained in:
commit
b0b027d2d0
12 changed files with 281 additions and 153 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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};
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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};
|
||||||
|
|
|
@ -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>();
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue