Merge pull request #1526 from lioncash/svc-id

service: Update function tables
This commit is contained in:
bunnei 2018-10-19 22:53:26 -04:00 committed by GitHub
commit bf66930fb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 163 additions and 53 deletions

View File

@ -17,22 +17,24 @@ OMM::OMM() : ServiceFramework{"omm"} {
{5, nullptr, "GetCradleStatus"}, {5, nullptr, "GetCradleStatus"},
{6, nullptr, "FadeInDisplay"}, {6, nullptr, "FadeInDisplay"},
{7, nullptr, "FadeOutDisplay"}, {7, nullptr, "FadeOutDisplay"},
{8, nullptr, "Unknown1"}, {8, nullptr, "GetCradleFwVersion"},
{9, nullptr, "Unknown2"}, {9, nullptr, "NotifyCecSettingsChanged"},
{10, nullptr, "Unknown3"}, {10, nullptr, "SetOperationModePolicy"},
{11, nullptr, "Unknown4"}, {11, nullptr, "GetDefaultDisplayResolution"},
{12, nullptr, "Unknown5"}, {12, nullptr, "GetDefaultDisplayResolutionChangeEvent"},
{13, nullptr, "Unknown6"}, {13, nullptr, "UpdateDefaultDisplayResolution"},
{14, nullptr, "Unknown7"}, {14, nullptr, "ShouldSleepOnBoot"},
{15, nullptr, "Unknown8"}, {15, nullptr, "NotifyHdcpApplicationExecutionStarted"},
{16, nullptr, "Unknown9"}, {16, nullptr, "NotifyHdcpApplicationExecutionFinished"},
{17, nullptr, "Unknown10"}, {17, nullptr, "NotifyHdcpApplicationDrawingStarted"},
{18, nullptr, "Unknown11"}, {18, nullptr, "NotifyHdcpApplicationDrawingFinished"},
{19, nullptr, "Unknown12"}, {19, nullptr, "GetHdcpAuthenticationFailedEvent"},
{20, nullptr, "Unknown13"}, {20, nullptr, "GetHdcpAuthenticationFailedEmulationEnabled"},
{21, nullptr, "Unknown14"}, {21, nullptr, "SetHdcpAuthenticationFailedEmulation"},
{22, nullptr, "Unknown15"}, {22, nullptr, "GetHdcpStateChangeEvent"},
{23, nullptr, "Unknown16"}, {23, nullptr, "GetHdcpState"},
{24, nullptr, "ShowCardUpdateProcessing"},
{25, nullptr, "SetApplicationCecSettingsAndNotifyChanged"},
}; };
// clang-format on // clang-format on

View File

@ -22,20 +22,22 @@ class IAudioRenderer final : public ServiceFramework<IAudioRenderer> {
public: public:
explicit IAudioRenderer(AudioCore::AudioRendererParameter audren_params) explicit IAudioRenderer(AudioCore::AudioRendererParameter audren_params)
: ServiceFramework("IAudioRenderer") { : ServiceFramework("IAudioRenderer") {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &IAudioRenderer::GetAudioRendererSampleRate, "GetAudioRendererSampleRate"}, {0, &IAudioRenderer::GetSampleRate, "GetSampleRate"},
{1, &IAudioRenderer::GetAudioRendererSampleCount, "GetAudioRendererSampleCount"}, {1, &IAudioRenderer::GetSampleCount, "GetSampleCount"},
{2, &IAudioRenderer::GetAudioRendererMixBufferCount, "GetAudioRendererMixBufferCount"}, {2, &IAudioRenderer::GetMixBufferCount, "GetMixBufferCount"},
{3, &IAudioRenderer::GetAudioRendererState, "GetAudioRendererState"}, {3, &IAudioRenderer::GetState, "GetState"},
{4, &IAudioRenderer::RequestUpdateAudioRenderer, "RequestUpdateAudioRenderer"}, {4, &IAudioRenderer::RequestUpdate, "RequestUpdate"},
{5, &IAudioRenderer::StartAudioRenderer, "StartAudioRenderer"}, {5, &IAudioRenderer::Start, "Start"},
{6, &IAudioRenderer::StopAudioRenderer, "StopAudioRenderer"}, {6, &IAudioRenderer::Stop, "Stop"},
{7, &IAudioRenderer::QuerySystemEvent, "QuerySystemEvent"}, {7, &IAudioRenderer::QuerySystemEvent, "QuerySystemEvent"},
{8, nullptr, "SetAudioRendererRenderingTimeLimit"}, {8, nullptr, "SetRenderingTimeLimit"},
{9, nullptr, "GetAudioRendererRenderingTimeLimit"}, {9, nullptr, "GetRenderingTimeLimit"},
{10, nullptr, "RequestUpdateAudioRendererAuto"}, {10, nullptr, "RequestUpdateAuto"},
{11, nullptr, "ExecuteAudioRendererRendering"}, {11, nullptr, "ExecuteAudioRendererRendering"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
auto& kernel = Core::System::GetInstance().Kernel(); auto& kernel = Core::System::GetInstance().Kernel();
@ -49,42 +51,42 @@ private:
system_event->Signal(); system_event->Signal();
} }
void GetAudioRendererSampleRate(Kernel::HLERequestContext& ctx) { void GetSampleRate(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
rb.Push<u32>(renderer->GetSampleRate()); rb.Push<u32>(renderer->GetSampleRate());
LOG_DEBUG(Service_Audio, "called"); LOG_DEBUG(Service_Audio, "called");
} }
void GetAudioRendererSampleCount(Kernel::HLERequestContext& ctx) { void GetSampleCount(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
rb.Push<u32>(renderer->GetSampleCount()); rb.Push<u32>(renderer->GetSampleCount());
LOG_DEBUG(Service_Audio, "called"); LOG_DEBUG(Service_Audio, "called");
} }
void GetAudioRendererState(Kernel::HLERequestContext& ctx) { void GetState(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
rb.Push<u32>(static_cast<u32>(renderer->GetStreamState())); rb.Push<u32>(static_cast<u32>(renderer->GetStreamState()));
LOG_DEBUG(Service_Audio, "called"); LOG_DEBUG(Service_Audio, "called");
} }
void GetAudioRendererMixBufferCount(Kernel::HLERequestContext& ctx) { void GetMixBufferCount(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
rb.Push<u32>(renderer->GetMixBufferCount()); rb.Push<u32>(renderer->GetMixBufferCount());
LOG_DEBUG(Service_Audio, "called"); LOG_DEBUG(Service_Audio, "called");
} }
void RequestUpdateAudioRenderer(Kernel::HLERequestContext& ctx) { void RequestUpdate(Kernel::HLERequestContext& ctx) {
ctx.WriteBuffer(renderer->UpdateAudioRenderer(ctx.ReadBuffer())); ctx.WriteBuffer(renderer->UpdateAudioRenderer(ctx.ReadBuffer()));
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
LOG_WARNING(Service_Audio, "(STUBBED) called"); LOG_WARNING(Service_Audio, "(STUBBED) called");
} }
void StartAudioRenderer(Kernel::HLERequestContext& ctx) { void Start(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
@ -92,7 +94,7 @@ private:
LOG_WARNING(Service_Audio, "(STUBBED) called"); LOG_WARNING(Service_Audio, "(STUBBED) called");
} }
void StopAudioRenderer(Kernel::HLERequestContext& ctx) { void Stop(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
@ -129,6 +131,7 @@ public:
{10, &IAudioDevice::GetActiveAudioDeviceName, "GetActiveAudioDeviceNameAuto"}, {10, &IAudioDevice::GetActiveAudioDeviceName, "GetActiveAudioDeviceNameAuto"},
{11, nullptr, "QueryAudioDeviceInputEvent"}, {11, nullptr, "QueryAudioDeviceInputEvent"},
{12, nullptr, "QueryAudioDeviceOutputEvent"}, {12, nullptr, "QueryAudioDeviceOutputEvent"},
{13, nullptr, "GetAudioSystemMasterVolumeSetting"},
}; };
RegisterHandlers(functions); RegisterHandlers(functions);

View File

@ -9,6 +9,7 @@ namespace Service::ES {
class ETicket final : public ServiceFramework<ETicket> { class ETicket final : public ServiceFramework<ETicket> {
public: public:
explicit ETicket() : ServiceFramework{"es"} { explicit ETicket() : ServiceFramework{"es"} {
// clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{1, nullptr, "ImportTicket"}, {1, nullptr, "ImportTicket"},
{2, nullptr, "ImportTicketCertificateSet"}, {2, nullptr, "ImportTicketCertificateSet"},
@ -37,15 +38,18 @@ public:
{25, nullptr, "DeletePrepurchaseRecord"}, {25, nullptr, "DeletePrepurchaseRecord"},
{26, nullptr, "DeleteAllPrepurchaseRecord"}, {26, nullptr, "DeleteAllPrepurchaseRecord"},
{27, nullptr, "CountPrepurchaseRecord"}, {27, nullptr, "CountPrepurchaseRecord"},
{28, nullptr, "ListPrepurchaseRecord"}, {28, nullptr, "ListPrepurchaseRecordRightsIds"},
{29, nullptr, "ListPrepurchaseRecordInfo"}, {29, nullptr, "ListPrepurchaseRecordInfo"},
{30, nullptr, "Unknown1"}, {30, nullptr, "CountTicket"},
{31, nullptr, "Unknown2"}, {31, nullptr, "ListTicketRightsIds"},
{32, nullptr, "Unknown3"}, {32, nullptr, "CountPrepurchaseRecordEx"},
{33, nullptr, "Unknown4"}, {33, nullptr, "ListPrepurchaseRecordRightsIdsEx"},
{34, nullptr, "Unknown5"}, {34, nullptr, "GetEncryptedTicketSize"},
{35, nullptr, "Unknown6"}, {35, nullptr, "GetEncryptedTicketData"},
{36, nullptr, "DeleteAllInactiveELicenseRequiredPersonalizedTicket"},
{503, nullptr, "GetTitleKey"},
}; };
// clang-format on
RegisterHandlers(functions); RegisterHandlers(functions);
} }
}; };

View File

@ -177,6 +177,7 @@ public:
{11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"}, {11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
{21, &Hid::ActivateMouse, "ActivateMouse"}, {21, &Hid::ActivateMouse, "ActivateMouse"},
{31, &Hid::ActivateKeyboard, "ActivateKeyboard"}, {31, &Hid::ActivateKeyboard, "ActivateKeyboard"},
{32, nullptr, "SendKeyboardLockKeyEvent"},
{40, nullptr, "AcquireXpadIdEventHandle"}, {40, nullptr, "AcquireXpadIdEventHandle"},
{41, nullptr, "ReleaseXpadIdEventHandle"}, {41, nullptr, "ReleaseXpadIdEventHandle"},
{51, &Hid::ActivateXpad, "ActivateXpad"}, {51, &Hid::ActivateXpad, "ActivateXpad"},
@ -207,6 +208,7 @@ public:
{80, nullptr, "GetGyroscopeZeroDriftMode"}, {80, nullptr, "GetGyroscopeZeroDriftMode"},
{81, nullptr, "ResetGyroscopeZeroDriftMode"}, {81, nullptr, "ResetGyroscopeZeroDriftMode"},
{82, &Hid::IsSixAxisSensorAtRest, "IsSixAxisSensorAtRest"}, {82, &Hid::IsSixAxisSensorAtRest, "IsSixAxisSensorAtRest"},
{83, nullptr, "IsFirmwareUpdateAvailableForSixAxisSensor"},
{91, &Hid::ActivateGesture, "ActivateGesture"}, {91, &Hid::ActivateGesture, "ActivateGesture"},
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"}, {100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
{101, &Hid::GetSupportedNpadStyleSet, "GetSupportedNpadStyleSet"}, {101, &Hid::GetSupportedNpadStyleSet, "GetSupportedNpadStyleSet"},
@ -252,6 +254,7 @@ public:
{307, nullptr, "FinalizeSevenSixAxisSensor"}, {307, nullptr, "FinalizeSevenSixAxisSensor"},
{308, nullptr, "SetSevenSixAxisSensorFusionStrength"}, {308, nullptr, "SetSevenSixAxisSensorFusionStrength"},
{309, nullptr, "GetSevenSixAxisSensorFusionStrength"}, {309, nullptr, "GetSevenSixAxisSensorFusionStrength"},
{310, nullptr, "ResetSevenSixAxisSensorTimestamp"},
{400, nullptr, "IsUsbFullKeyControllerEnabled"}, {400, nullptr, "IsUsbFullKeyControllerEnabled"},
{401, nullptr, "EnableUsbFullKeyController"}, {401, nullptr, "EnableUsbFullKeyController"},
{402, nullptr, "IsUsbFullKeyControllerConnected"}, {402, nullptr, "IsUsbFullKeyControllerConnected"},
@ -267,12 +270,24 @@ public:
{505, nullptr, "SetPalmaFrModeType"}, {505, nullptr, "SetPalmaFrModeType"},
{506, nullptr, "ReadPalmaStep"}, {506, nullptr, "ReadPalmaStep"},
{507, nullptr, "EnablePalmaStep"}, {507, nullptr, "EnablePalmaStep"},
{508, nullptr, "SuspendPalmaStep"}, {508, nullptr, "ResetPalmaStep"},
{509, nullptr, "ResetPalmaStep"}, {509, nullptr, "ReadPalmaApplicationSection"},
{510, nullptr, "ReadPalmaApplicationSection"}, {510, nullptr, "WritePalmaApplicationSection"},
{511, nullptr, "WritePalmaApplicationSection"}, {511, nullptr, "ReadPalmaUniqueCode"},
{512, nullptr, "ReadPalmaUniqueCode"}, {512, nullptr, "SetPalmaUniqueCodeInvalid"},
{513, nullptr, "SetPalmaUniqueCodeInvalid"}, {513, nullptr, "WritePalmaActivityEntry"},
{514, nullptr, "WritePalmaRgbLedPatternEntry"},
{515, nullptr, "WritePalmaWaveEntry"},
{516, nullptr, "SetPalmaDataBaseIdentificationVersion"},
{517, nullptr, "GetPalmaDataBaseIdentificationVersion"},
{518, nullptr, "SuspendPalmaFeature"},
{519, nullptr, "GetPalmaOperationResult"},
{520, nullptr, "ReadPalmaPlayLog"},
{521, nullptr, "ResetPalmaPlayLog"},
{522, nullptr, "SetIsPalmaAllConnectable"},
{523, nullptr, "SetIsPalmaPairedConnectable"},
{524, nullptr, "PairPalma"},
{525, nullptr, "SetPalmaBoostMode"},
{1000, nullptr, "SetNpadCommunicationMode"}, {1000, nullptr, "SetNpadCommunicationMode"},
{1001, nullptr, "GetNpadCommunicationMode"}, {1001, nullptr, "GetNpadCommunicationMode"},
}; };
@ -620,6 +635,7 @@ public:
{140, nullptr, "DeactivateConsoleSixAxisSensor"}, {140, nullptr, "DeactivateConsoleSixAxisSensor"},
{141, nullptr, "GetConsoleSixAxisSensorSamplingFrequency"}, {141, nullptr, "GetConsoleSixAxisSensorSamplingFrequency"},
{142, nullptr, "DeactivateSevenSixAxisSensor"}, {142, nullptr, "DeactivateSevenSixAxisSensor"},
{143, nullptr, "GetConsoleSixAxisSensorCountStates"},
{201, nullptr, "ActivateFirmwareUpdate"}, {201, nullptr, "ActivateFirmwareUpdate"},
{202, nullptr, "DeactivateFirmwareUpdate"}, {202, nullptr, "DeactivateFirmwareUpdate"},
{203, nullptr, "StartFirmwareUpdate"}, {203, nullptr, "StartFirmwareUpdate"},
@ -630,12 +646,23 @@ public:
{208, nullptr, "StartFirmwareUpdateForRevert"}, {208, nullptr, "StartFirmwareUpdateForRevert"},
{209, nullptr, "GetAvailableFirmwareVersionForRevert"}, {209, nullptr, "GetAvailableFirmwareVersionForRevert"},
{210, nullptr, "IsFirmwareUpdatingDevice"}, {210, nullptr, "IsFirmwareUpdatingDevice"},
{211, nullptr, "StartFirmwareUpdateIndividual"},
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
{221, nullptr, "UpdateControllerColor"}, {221, nullptr, "UpdateControllerColor"},
{222, nullptr, "ConnectUsbPadsAsync"}, {222, nullptr, "ConnectUsbPadsAsync"},
{223, nullptr, "DisconnectUsbPadsAsync"}, {223, nullptr, "DisconnectUsbPadsAsync"},
{224, nullptr, "UpdateDesignInfo"}, {224, nullptr, "UpdateDesignInfo"},
{225, nullptr, "GetUniquePadDriverState"}, {225, nullptr, "GetUniquePadDriverState"},
{226, nullptr, "GetSixAxisSensorDriverStates"}, {226, nullptr, "GetSixAxisSensorDriverStates"},
{227, nullptr, "GetRxPacketHistory"},
{228, nullptr, "AcquireOperationEventHandle"},
{229, nullptr, "ReadSerialFlash"},
{230, nullptr, "WriteSerialFlash"},
{231, nullptr, "GetOperationResult"},
{232, nullptr, "EnableShipmentMode"},
{233, nullptr, "ClearPairingInfo"},
{234, nullptr, "GetUniquePadDeviceTypeSetInternal"},
{301, nullptr, "GetAbstractedPadHandles"}, {301, nullptr, "GetAbstractedPadHandles"},
{302, nullptr, "GetAbstractedPadState"}, {302, nullptr, "GetAbstractedPadState"},
{303, nullptr, "GetAbstractedPadsState"}, {303, nullptr, "GetAbstractedPadsState"},
@ -643,6 +670,8 @@ public:
{322, nullptr, "UnsetAutoPilotVirtualPadState"}, {322, nullptr, "UnsetAutoPilotVirtualPadState"},
{323, nullptr, "UnsetAllAutoPilotVirtualPadState"}, {323, nullptr, "UnsetAllAutoPilotVirtualPadState"},
{350, nullptr, "AddRegisteredDevice"}, {350, nullptr, "AddRegisteredDevice"},
{400, nullptr, "DisableExternalMcuOnNxDevice"},
{401, nullptr, "DisableRailDeviceFiltering"},
}; };
// clang-format on // clang-format on
@ -678,7 +707,9 @@ public:
{307, nullptr, "GetNpadSystemExtStyle"}, {307, nullptr, "GetNpadSystemExtStyle"},
{308, nullptr, "ApplyNpadSystemCommonPolicyFull"}, {308, nullptr, "ApplyNpadSystemCommonPolicyFull"},
{309, nullptr, "GetNpadFullKeyGripColor"}, {309, nullptr, "GetNpadFullKeyGripColor"},
{310, nullptr, "GetMaskedSupportedNpadStyleSet"},
{311, nullptr, "SetNpadPlayerLedBlinkingDevice"}, {311, nullptr, "SetNpadPlayerLedBlinkingDevice"},
{312, nullptr, "SetSupportedNpadStyleSetAll"},
{321, nullptr, "GetUniquePadsFromNpad"}, {321, nullptr, "GetUniquePadsFromNpad"},
{322, nullptr, "GetIrSensorState"}, {322, nullptr, "GetIrSensorState"},
{323, nullptr, "GetXcdHandleForNpadWithIrSensor"}, {323, nullptr, "GetXcdHandleForNpadWithIrSensor"},
@ -703,6 +734,7 @@ public:
{546, nullptr, "AcquireDeviceRegisteredEventForControllerSupport"}, {546, nullptr, "AcquireDeviceRegisteredEventForControllerSupport"},
{547, nullptr, "GetAllowedBluetoothLinksCount"}, {547, nullptr, "GetAllowedBluetoothLinksCount"},
{548, nullptr, "GetRegisteredDevices"}, {548, nullptr, "GetRegisteredDevices"},
{549, nullptr, "GetConnectableRegisteredDevices"},
{700, nullptr, "ActivateUniquePad"}, {700, nullptr, "ActivateUniquePad"},
{702, nullptr, "AcquireUniquePadConnectionEventHandle"}, {702, nullptr, "AcquireUniquePadConnectionEventHandle"},
{703, nullptr, "GetUniquePadIds"}, {703, nullptr, "GetUniquePadIds"},
@ -731,6 +763,7 @@ public:
{850, nullptr, "IsUsbFullKeyControllerEnabled"}, {850, nullptr, "IsUsbFullKeyControllerEnabled"},
{851, nullptr, "EnableUsbFullKeyController"}, {851, nullptr, "EnableUsbFullKeyController"},
{852, nullptr, "IsUsbConnected"}, {852, nullptr, "IsUsbConnected"},
{870, nullptr, "IsHandheldButtonPressedOnConsoleMode"},
{900, nullptr, "ActivateInputDetector"}, {900, nullptr, "ActivateInputDetector"},
{901, nullptr, "NotifyInputDetector"}, {901, nullptr, "NotifyInputDetector"},
{1000, nullptr, "InitializeFirmwareUpdate"}, {1000, nullptr, "InitializeFirmwareUpdate"},
@ -750,6 +783,12 @@ public:
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"}, {1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
{1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"}, {1053, nullptr, "GetSixAxisSensorAccurateUserCalibrationState"},
{1100, nullptr, "GetHidbusSystemServiceObject"}, {1100, nullptr, "GetHidbusSystemServiceObject"},
{1120, nullptr, "SetFirmwareHotfixUpdateSkipEnabled"},
{1130, nullptr, "InitializeUsbFirmwareUpdate"},
{1131, nullptr, "FinalizeUsbFirmwareUpdate"},
{1132, nullptr, "CheckUsbFirmwareUpdateRequired"},
{1133, nullptr, "StartUsbFirmwareUpdate"},
{1134, nullptr, "GetUsbFirmwareUpdateState"},
}; };
// clang-format on // clang-format on

View File

@ -219,6 +219,7 @@ IGeneralService::IGeneralService() : ServiceFramework("IGeneralService") {
{35, nullptr, "GetScanData"}, {35, nullptr, "GetScanData"},
{36, nullptr, "GetCurrentAccessPoint"}, {36, nullptr, "GetCurrentAccessPoint"},
{37, nullptr, "Shutdown"}, {37, nullptr, "Shutdown"},
{38, nullptr, "GetAllowedChannels"},
}; };
RegisterHandlers(functions); RegisterHandlers(functions);
} }

View File

@ -71,6 +71,22 @@ public:
} }
}; };
class NIM_ECA final : public ServiceFramework<NIM_ECA> {
public:
explicit NIM_ECA() : ServiceFramework{"nim:eca"} {
// clang-format off
static const FunctionInfo functions[] = {
{0, nullptr, "CreateServerInterface"},
{1, nullptr, "RefreshDebugAvailability"},
{2, nullptr, "ClearDebugResponse"},
{3, nullptr, "RegisterDebugResponse"},
};
// clang-format on
RegisterHandlers(functions);
}
};
class NIM_SHP final : public ServiceFramework<NIM_SHP> { class NIM_SHP final : public ServiceFramework<NIM_SHP> {
public: public:
explicit NIM_SHP() : ServiceFramework{"nim:shp"} { explicit NIM_SHP() : ServiceFramework{"nim:shp"} {
@ -214,6 +230,7 @@ private:
void InstallInterfaces(SM::ServiceManager& sm) { void InstallInterfaces(SM::ServiceManager& sm) {
std::make_shared<NIM>()->InstallAsService(sm); std::make_shared<NIM>()->InstallAsService(sm);
std::make_shared<NIM_ECA>()->InstallAsService(sm);
std::make_shared<NIM_SHP>()->InstallAsService(sm); std::make_shared<NIM_SHP>()->InstallAsService(sm);
std::make_shared<NTC>()->InstallAsService(sm); std::make_shared<NTC>()->InstallAsService(sm);
} }

View File

@ -93,13 +93,23 @@ public:
{86, nullptr, "EnableApplicationCrashReport"}, {86, nullptr, "EnableApplicationCrashReport"},
{87, nullptr, "IsApplicationCrashReportEnabled"}, {87, nullptr, "IsApplicationCrashReportEnabled"},
{90, nullptr, "BoostSystemMemoryResourceLimit"}, {90, nullptr, "BoostSystemMemoryResourceLimit"},
{91, nullptr, "Unknown1"},
{92, nullptr, "Unknown2"},
{93, nullptr, "GetMainApplicationProgramIndex"},
{94, nullptr, "LaunchApplication2"},
{95, nullptr, "GetApplicationLaunchInfo"},
{96, nullptr, "AcquireApplicationLaunchInfo"},
{97, nullptr, "GetMainApplicationProgramIndex2"},
{98, nullptr, "EnableApplicationAllThreadDumpOnCrash"},
{100, nullptr, "ResetToFactorySettings"}, {100, nullptr, "ResetToFactorySettings"},
{101, nullptr, "ResetToFactorySettingsWithoutUserSaveData"}, {101, nullptr, "ResetToFactorySettingsWithoutUserSaveData"},
{102, nullptr, "ResetToFactorySettingsForRefurbishment"}, {102, nullptr, "ResetToFactorySettingsForRefurbishment"},
{200, nullptr, "CalculateUserSaveDataStatistics"}, {200, nullptr, "CalculateUserSaveDataStatistics"},
{201, nullptr, "DeleteUserSaveDataAll"}, {201, nullptr, "DeleteUserSaveDataAll"},
{210, nullptr, "DeleteUserSystemSaveData"}, {210, nullptr, "DeleteUserSystemSaveData"},
{211, nullptr, "DeleteSaveData"},
{220, nullptr, "UnregisterNetworkServiceAccount"}, {220, nullptr, "UnregisterNetworkServiceAccount"},
{221, nullptr, "UnregisterNetworkServiceAccountWithUserSaveDataDeletion"},
{300, nullptr, "GetApplicationShellEvent"}, {300, nullptr, "GetApplicationShellEvent"},
{301, nullptr, "PopApplicationShellEventInfo"}, {301, nullptr, "PopApplicationShellEventInfo"},
{302, nullptr, "LaunchLibraryApplet"}, {302, nullptr, "LaunchLibraryApplet"},
@ -114,6 +124,7 @@ public:
{403, nullptr, "GetMaxApplicationControlCacheCount"}, {403, nullptr, "GetMaxApplicationControlCacheCount"},
{404, nullptr, "InvalidateApplicationControlCache"}, {404, nullptr, "InvalidateApplicationControlCache"},
{405, nullptr, "ListApplicationControlCacheEntryInfo"}, {405, nullptr, "ListApplicationControlCacheEntryInfo"},
{406, nullptr, "GetApplicationControlProperty"},
{502, nullptr, "RequestCheckGameCardRegistration"}, {502, nullptr, "RequestCheckGameCardRegistration"},
{503, nullptr, "RequestGameCardRegistrationGoldPoint"}, {503, nullptr, "RequestGameCardRegistrationGoldPoint"},
{504, nullptr, "RequestRegisterGameCard"}, {504, nullptr, "RequestRegisterGameCard"},
@ -129,6 +140,7 @@ public:
{604, nullptr, "RegisterContentsExternalKey"}, {604, nullptr, "RegisterContentsExternalKey"},
{605, nullptr, "ListApplicationContentMetaStatusWithRightsCheck"}, {605, nullptr, "ListApplicationContentMetaStatusWithRightsCheck"},
{606, nullptr, "GetContentMetaStorage"}, {606, nullptr, "GetContentMetaStorage"},
{607, nullptr, "ListAvailableAddOnContent"},
{700, nullptr, "PushDownloadTaskList"}, {700, nullptr, "PushDownloadTaskList"},
{701, nullptr, "ClearTaskStatusList"}, {701, nullptr, "ClearTaskStatusList"},
{702, nullptr, "RequestDownloadTaskList"}, {702, nullptr, "RequestDownloadTaskList"},
@ -148,6 +160,9 @@ public:
{907, nullptr, "WithdrawApplicationUpdateRequest"}, {907, nullptr, "WithdrawApplicationUpdateRequest"},
{908, nullptr, "ListApplicationRecordInstalledContentMeta"}, {908, nullptr, "ListApplicationRecordInstalledContentMeta"},
{909, nullptr, "WithdrawCleanupAddOnContentsWithNoRightsRecommendation"}, {909, nullptr, "WithdrawCleanupAddOnContentsWithNoRightsRecommendation"},
{910, nullptr, "Unknown3"},
{911, nullptr, "SetPreInstalledApplication"},
{912, nullptr, "ClearPreInstalledApplicationFlag"},
{1000, nullptr, "RequestVerifyApplicationDeprecated"}, {1000, nullptr, "RequestVerifyApplicationDeprecated"},
{1001, nullptr, "CorruptApplicationForDebug"}, {1001, nullptr, "CorruptApplicationForDebug"},
{1002, nullptr, "RequestVerifyAddOnContentsRights"}, {1002, nullptr, "RequestVerifyAddOnContentsRights"},
@ -162,6 +177,8 @@ public:
{1305, nullptr, "TryDeleteRunningApplicationEntity"}, {1305, nullptr, "TryDeleteRunningApplicationEntity"},
{1306, nullptr, "TryDeleteRunningApplicationCompletely"}, {1306, nullptr, "TryDeleteRunningApplicationCompletely"},
{1307, nullptr, "TryDeleteRunningApplicationContentEntities"}, {1307, nullptr, "TryDeleteRunningApplicationContentEntities"},
{1308, nullptr, "DeleteApplicationCompletelyForDebug"},
{1309, nullptr, "CleanupUnavailableAddOnContents"},
{1400, nullptr, "PrepareShutdown"}, {1400, nullptr, "PrepareShutdown"},
{1500, nullptr, "FormatSdCard"}, {1500, nullptr, "FormatSdCard"},
{1501, nullptr, "NeedsSystemUpdateToFormatSdCard"}, {1501, nullptr, "NeedsSystemUpdateToFormatSdCard"},
@ -199,6 +216,28 @@ public:
{2015, nullptr, "CompareSystemDeliveryInfo"}, {2015, nullptr, "CompareSystemDeliveryInfo"},
{2016, nullptr, "ListNotCommittedContentMeta"}, {2016, nullptr, "ListNotCommittedContentMeta"},
{2017, nullptr, "CreateDownloadTask"}, {2017, nullptr, "CreateDownloadTask"},
{2018, nullptr, "Unknown4"},
{2050, nullptr, "Unknown5"},
{2100, nullptr, "Unknown6"},
{2101, nullptr, "Unknown7"},
{2150, nullptr, "CreateRightsEnvironment"},
{2151, nullptr, "DestroyRightsEnvironment"},
{2152, nullptr, "ActivateRightsEnvironment"},
{2153, nullptr, "DeactivateRightsEnvironment"},
{2154, nullptr, "ForceActivateRightsContextForExit"},
{2160, nullptr, "AddTargetApplicationToRightsEnvironment"},
{2161, nullptr, "SetUsersToRightsEnvironment"},
{2170, nullptr, "GetRightsEnvironmentStatus"},
{2171, nullptr, "GetRightsEnvironmentStatusChangedEvent"},
{2180, nullptr, "RequestExtendRightsInRightsEnvironment"},
{2181, nullptr, "GetLastResultOfExtendRightsInRightsEnvironment"},
{2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"},
{2190, nullptr, "GetRightsEnvironmentHandleForApplication"},
{2199, nullptr, "GetRightsEnvironmentCountForDebug"},
{2200, nullptr, "Unknown8"},
{2201, nullptr, "Unknown9"},
{2250, nullptr, "Unknown10"},
{2300, nullptr, "Unknown11"},
}; };
// clang-format on // clang-format on
@ -348,12 +387,15 @@ public:
{0, nullptr, "LaunchProgram"}, {0, nullptr, "LaunchProgram"},
{1, nullptr, "TerminateProcess"}, {1, nullptr, "TerminateProcess"},
{2, nullptr, "TerminateProgram"}, {2, nullptr, "TerminateProgram"},
{3, nullptr, "GetShellEventHandle"}, {4, nullptr, "GetShellEventHandle"},
{4, nullptr, "GetShellEventInfo"}, {5, nullptr, "GetShellEventInfo"},
{5, nullptr, "TerminateApplication"}, {6, nullptr, "TerminateApplication"},
{6, nullptr, "PrepareLaunchProgramFromHost"}, {7, nullptr, "PrepareLaunchProgramFromHost"},
{7, nullptr, "LaunchApplication"}, {8, nullptr, "LaunchApplication"},
{8, nullptr, "LaunchApplicationWithStorageId"}, {9, nullptr, "LaunchApplicationWithStorageId"},
{10, nullptr, "TerminateApplication2"},
{11, nullptr, "GetRunningApplicationProcessId"},
{12, nullptr, "SetCurrentApplicationRightsEnvironmentCanBeActive"},
}; };
// clang-format on // clang-format on
@ -388,6 +430,7 @@ public:
{19, nullptr, "GetReceivedEulaDataSize"}, {19, nullptr, "GetReceivedEulaDataSize"},
{20, nullptr, "GetReceivedEulaData"}, {20, nullptr, "GetReceivedEulaData"},
{21, nullptr, "SetupToReceiveSystemUpdate"}, {21, nullptr, "SetupToReceiveSystemUpdate"},
{22, nullptr, "RequestCheckLatestUpdateIncludesRebootlessUpdate"},
}; };
// clang-format on // clang-format on

View File

@ -39,7 +39,8 @@ SET_CAL::SET_CAL() : ServiceFramework("set:cal") {
{29, nullptr, "GetAmiiboEcqvBlsKey"}, {29, nullptr, "GetAmiiboEcqvBlsKey"},
{30, nullptr, "GetAmiiboEcqvBlsCertificate"}, {30, nullptr, "GetAmiiboEcqvBlsCertificate"},
{31, nullptr, "GetAmiiboEcqvBlsRootCertificate"}, {31, nullptr, "GetAmiiboEcqvBlsRootCertificate"},
{32, nullptr, "GetUnknownId"}, {32, nullptr, "GetUsbTypeCPowerSourceCircuitVersion"},
{33, nullptr, "GetBatteryVersion"},
}; };
RegisterHandlers(functions); RegisterHandlers(functions);
} }