summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/nifm/nifm.cpp44
-rw-r--r--src/core/hle/service/nifm/nifm.h5
2 files changed, 45 insertions, 4 deletions
diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp
index 38490ab33..b1addb1fb 100644
--- a/src/core/hle/service/nifm/nifm.cpp
+++ b/src/core/hle/service/nifm/nifm.cpp
@@ -419,6 +419,24 @@ void IGeneralService::GetCurrentNetworkProfile(HLERequestContext& ctx) {
rb.Push(ResultSuccess);
}
+void IGeneralService::EnumerateNetworkInterfaces(HLERequestContext& ctx) {
+ // Return empty list since network interface enumeration is not yet implemented
+ LOG_DEBUG(Service_NIFM, "Network interface enumeration requested");
+
+ // Build response with just success status
+ IPC::ResponseBuilder rb{ctx, 2};
+ rb.Push(ResultSuccess);
+}
+
+void IGeneralService::EnumerateNetworkProfiles(HLERequestContext& ctx) {
+ // Return empty list since network profile enumeration is not yet implemented
+ LOG_DEBUG(Service_NIFM, "Network profile enumeration requested");
+
+ // Build response with just success status
+ IPC::ResponseBuilder rb{ctx, 2};
+ rb.Push(ResultSuccess);
+}
+
void IGeneralService::RemoveNetworkProfile(HLERequestContext& ctx) {
LOG_WARNING(Service_NIFM, "(STUBBED) called");
@@ -565,6 +583,24 @@ void IGeneralService::IsAnyForegroundRequestAccepted(HLERequestContext& ctx) {
rb.Push<u8>(is_accepted);
}
+void IGeneralService::ConfirmSystemAvailability(HLERequestContext& ctx) {
+ // Verify system network availability
+ LOG_DEBUG(Service_NIFM, "Confirming system network availability");
+
+ // Return success to indicate system is available
+ IPC::ResponseBuilder response{ctx, 2};
+ response.Push(ResultSuccess);
+}
+
+void IGeneralService::SetBackgroundRequestEnabled(HLERequestContext& ctx) {
+ // Enable background network requests
+ LOG_DEBUG(Service_NIFM, "Setting background network requests enabled");
+
+ // Build success response
+ IPC::ResponseBuilder response{ctx, 2};
+ response.Push(ResultSuccess);
+}
+
IGeneralService::IGeneralService(Core::System& system_)
: ServiceFramework{system_, "IGeneralService"}, network{system_.GetRoomNetwork()} {
// clang-format off
@@ -573,8 +609,8 @@ IGeneralService::IGeneralService(Core::System& system_)
{2, &IGeneralService::CreateScanRequest, "CreateScanRequest"},
{4, &IGeneralService::CreateRequest, "CreateRequest"},
{5, &IGeneralService::GetCurrentNetworkProfile, "GetCurrentNetworkProfile"},
- {6, nullptr, "EnumerateNetworkInterfaces"},
- {7, nullptr, "EnumerateNetworkProfiles"},
+ {6, &IGeneralService::EnumerateNetworkInterfaces, "EnumerateNetworkInterfaces"},
+ {7, &IGeneralService::EnumerateNetworkProfiles, "EnumerateNetworkProfiles"},
{8, nullptr, "GetNetworkProfile"},
{9, nullptr, "SetNetworkProfile"},
{10, &IGeneralService::RemoveNetworkProfile, "RemoveNetworkProfile"},
@@ -600,8 +636,8 @@ IGeneralService::IGeneralService(Core::System& system_)
{30, nullptr, "SetEthernetCommunicationEnabledForTest"},
{31, nullptr, "GetTelemetorySystemEventReadableHandle"},
{32, nullptr, "GetTelemetryInfo"},
- {33, nullptr, "ConfirmSystemAvailability"},
- {34, nullptr, "SetBackgroundRequestEnabled"},
+ {33, &IGeneralService::ConfirmSystemAvailability, "ConfirmSystemAvailability"},
+ {34, &IGeneralService::SetBackgroundRequestEnabled, "SetBackgroundRequestEnabled"},
{35, nullptr, "GetScanData"},
{36, nullptr, "GetCurrentAccessPoint"},
{37, nullptr, "Shutdown"},
diff --git a/src/core/hle/service/nifm/nifm.h b/src/core/hle/service/nifm/nifm.h
index b74b66438..655dd9acf 100644
--- a/src/core/hle/service/nifm/nifm.h
+++ b/src/core/hle/service/nifm/nifm.h
@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
+// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -27,6 +28,8 @@ private:
void CreateScanRequest(HLERequestContext& ctx);
void CreateRequest(HLERequestContext& ctx);
void GetCurrentNetworkProfile(HLERequestContext& ctx);
+ void EnumerateNetworkInterfaces(HLERequestContext& ctx);
+ void EnumerateNetworkProfiles(HLERequestContext& ctx);
void RemoveNetworkProfile(HLERequestContext& ctx);
void GetCurrentIpAddress(HLERequestContext& ctx);
void CreateTemporaryNetworkProfile(HLERequestContext& ctx);
@@ -36,6 +39,8 @@ private:
void IsEthernetCommunicationEnabled(HLERequestContext& ctx);
void IsAnyInternetRequestAccepted(HLERequestContext& ctx);
void IsAnyForegroundRequestAccepted(HLERequestContext& ctx);
+ void ConfirmSystemAvailability(HLERequestContext& ctx);
+ void SetBackgroundRequestEnabled(HLERequestContext& ctx);
Network::RoomNetwork& network;
};