Files
citron/src/core/hle/service/sockets/ethc.h
Zephyron 90dc2df21a core/sockets: Add missing socket services and functions from switchbrew
- Add Unknown39 and Unknown40 functions to BSD service for [20.0.0+]
- Implement bsd:nu service with ISfUserService and ISfAssignedNetworkInterfaceService
- Add dns:priv and ethc:c/ethc:i service stubs
- Update CMakeLists.txt to include new socket service files
- All new functions include basic stub implementations following existing patterns

This completes the socket services implementation based on switchbrew.org documentation.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-06-29 16:57:26 +10:00

44 lines
1.3 KiB
C++

// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "core/hle/service/service.h"
namespace Core {
class System;
}
namespace Service::Sockets {
class ETHC_C final : public ServiceFramework<ETHC_C> {
public:
explicit ETHC_C(Core::System& system_);
~ETHC_C() override;
private:
// Ethernet controller service methods (ethc:c)
// Based on switchbrew documentation - functions are undocumented so basic stubs are provided
void Unknown0(HLERequestContext& ctx);
void Unknown1(HLERequestContext& ctx);
void Unknown2(HLERequestContext& ctx);
void Unknown3(HLERequestContext& ctx);
void Unknown4(HLERequestContext& ctx);
};
class ETHC_I final : public ServiceFramework<ETHC_I> {
public:
explicit ETHC_I(Core::System& system_);
~ETHC_I() override;
private:
// Ethernet controller interface service methods (ethc:i)
// Based on switchbrew documentation - functions are undocumented so basic stubs are provided
void Unknown0(HLERequestContext& ctx);
void Unknown1(HLERequestContext& ctx);
void Unknown2(HLERequestContext& ctx);
void Unknown3(HLERequestContext& ctx);
void Unknown4(HLERequestContext& ctx);
};
} // namespace Service::Sockets