diff options
Diffstat (limited to 'src/core/hle/service/sockets')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/ethc.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/ethc.h | 8 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/nsd.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/nsd.h | 7 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/sfdnsres.cpp | 38 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/sfdnsres.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/sockets.cpp | 12 |
9 files changed, 49 insertions, 38 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index a74be9370..a9875b9a6 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp | |||
| @@ -827,8 +827,8 @@ void BSD::BuildErrnoResponse(Kernel::HLERequestContext& ctx, Errno bsd_errno) co | |||
| 827 | rb.PushEnum(bsd_errno); | 827 | rb.PushEnum(bsd_errno); |
| 828 | } | 828 | } |
| 829 | 829 | ||
| 830 | BSD::BSD(Core::System& system, const char* name) | 830 | BSD::BSD(Core::System& system_, const char* name) |
| 831 | : ServiceFramework(name), worker_pool{system, this} { | 831 | : ServiceFramework{system_, name}, worker_pool{system_, this} { |
| 832 | // clang-format off | 832 | // clang-format off |
| 833 | static const FunctionInfo functions[] = { | 833 | static const FunctionInfo functions[] = { |
| 834 | {0, &BSD::RegisterClient, "RegisterClient"}, | 834 | {0, &BSD::RegisterClient, "RegisterClient"}, |
| @@ -873,7 +873,7 @@ BSD::BSD(Core::System& system, const char* name) | |||
| 873 | 873 | ||
| 874 | BSD::~BSD() = default; | 874 | BSD::~BSD() = default; |
| 875 | 875 | ||
| 876 | BSDCFG::BSDCFG() : ServiceFramework{"bsdcfg"} { | 876 | BSDCFG::BSDCFG(Core::System& system_) : ServiceFramework{system_, "bsdcfg"} { |
| 877 | // clang-format off | 877 | // clang-format off |
| 878 | static const FunctionInfo functions[] = { | 878 | static const FunctionInfo functions[] = { |
| 879 | {0, nullptr, "SetIfUp"}, | 879 | {0, nullptr, "SetIfUp"}, |
diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index 357531951..f14713fc4 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h | |||
| @@ -26,7 +26,7 @@ namespace Service::Sockets { | |||
| 26 | 26 | ||
| 27 | class BSD final : public ServiceFramework<BSD> { | 27 | class BSD final : public ServiceFramework<BSD> { |
| 28 | public: | 28 | public: |
| 29 | explicit BSD(Core::System& system, const char* name); | 29 | explicit BSD(Core::System& system_, const char* name); |
| 30 | ~BSD() override; | 30 | ~BSD() override; |
| 31 | 31 | ||
| 32 | private: | 32 | private: |
| @@ -176,7 +176,7 @@ private: | |||
| 176 | 176 | ||
| 177 | class BSDCFG final : public ServiceFramework<BSDCFG> { | 177 | class BSDCFG final : public ServiceFramework<BSDCFG> { |
| 178 | public: | 178 | public: |
| 179 | explicit BSDCFG(); | 179 | explicit BSDCFG(Core::System& system_); |
| 180 | ~BSDCFG() override; | 180 | ~BSDCFG() override; |
| 181 | }; | 181 | }; |
| 182 | 182 | ||
diff --git a/src/core/hle/service/sockets/ethc.cpp b/src/core/hle/service/sockets/ethc.cpp index abbeb4c50..05681ca2d 100644 --- a/src/core/hle/service/sockets/ethc.cpp +++ b/src/core/hle/service/sockets/ethc.cpp | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | namespace Service::Sockets { | 7 | namespace Service::Sockets { |
| 8 | 8 | ||
| 9 | ETHC_C::ETHC_C() : ServiceFramework{"ethc:c"} { | 9 | ETHC_C::ETHC_C(Core::System& system_) : ServiceFramework{system_, "ethc:c"} { |
| 10 | // clang-format off | 10 | // clang-format off |
| 11 | static const FunctionInfo functions[] = { | 11 | static const FunctionInfo functions[] = { |
| 12 | {0, nullptr, "Initialize"}, | 12 | {0, nullptr, "Initialize"}, |
| @@ -23,7 +23,7 @@ ETHC_C::ETHC_C() : ServiceFramework{"ethc:c"} { | |||
| 23 | 23 | ||
| 24 | ETHC_C::~ETHC_C() = default; | 24 | ETHC_C::~ETHC_C() = default; |
| 25 | 25 | ||
| 26 | ETHC_I::ETHC_I() : ServiceFramework{"ethc:i"} { | 26 | ETHC_I::ETHC_I(Core::System& system_) : ServiceFramework{system_, "ethc:i"} { |
| 27 | // clang-format off | 27 | // clang-format off |
| 28 | static const FunctionInfo functions[] = { | 28 | static const FunctionInfo functions[] = { |
| 29 | {0, nullptr, "GetReadableHandle"}, | 29 | {0, nullptr, "GetReadableHandle"}, |
diff --git a/src/core/hle/service/sockets/ethc.h b/src/core/hle/service/sockets/ethc.h index da2c7f741..71884182e 100644 --- a/src/core/hle/service/sockets/ethc.h +++ b/src/core/hle/service/sockets/ethc.h | |||
| @@ -6,17 +6,21 @@ | |||
| 6 | 6 | ||
| 7 | #include "core/hle/service/service.h" | 7 | #include "core/hle/service/service.h" |
| 8 | 8 | ||
| 9 | namespace Core { | ||
| 10 | class System; | ||
| 11 | } | ||
| 12 | |||
| 9 | namespace Service::Sockets { | 13 | namespace Service::Sockets { |
| 10 | 14 | ||
| 11 | class ETHC_C final : public ServiceFramework<ETHC_C> { | 15 | class ETHC_C final : public ServiceFramework<ETHC_C> { |
| 12 | public: | 16 | public: |
| 13 | explicit ETHC_C(); | 17 | explicit ETHC_C(Core::System& system_); |
| 14 | ~ETHC_C() override; | 18 | ~ETHC_C() override; |
| 15 | }; | 19 | }; |
| 16 | 20 | ||
| 17 | class ETHC_I final : public ServiceFramework<ETHC_I> { | 21 | class ETHC_I final : public ServiceFramework<ETHC_I> { |
| 18 | public: | 22 | public: |
| 19 | explicit ETHC_I(); | 23 | explicit ETHC_I(Core::System& system_); |
| 20 | ~ETHC_I() override; | 24 | ~ETHC_I() override; |
| 21 | }; | 25 | }; |
| 22 | 26 | ||
diff --git a/src/core/hle/service/sockets/nsd.cpp b/src/core/hle/service/sockets/nsd.cpp index 40d781124..51c3739bb 100644 --- a/src/core/hle/service/sockets/nsd.cpp +++ b/src/core/hle/service/sockets/nsd.cpp | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | namespace Service::Sockets { | 7 | namespace Service::Sockets { |
| 8 | 8 | ||
| 9 | NSD::NSD(const char* name) : ServiceFramework(name) { | 9 | NSD::NSD(Core::System& system_, const char* name) : ServiceFramework{system_, name} { |
| 10 | // clang-format off | 10 | // clang-format off |
| 11 | static const FunctionInfo functions[] = { | 11 | static const FunctionInfo functions[] = { |
| 12 | {10, nullptr, "GetSettingName"}, | 12 | {10, nullptr, "GetSettingName"}, |
diff --git a/src/core/hle/service/sockets/nsd.h b/src/core/hle/service/sockets/nsd.h index d842e3232..becf93125 100644 --- a/src/core/hle/service/sockets/nsd.h +++ b/src/core/hle/service/sockets/nsd.h | |||
| @@ -4,14 +4,17 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include "core/hle/kernel/hle_ipc.h" | ||
| 8 | #include "core/hle/service/service.h" | 7 | #include "core/hle/service/service.h" |
| 9 | 8 | ||
| 9 | namespace Core { | ||
| 10 | class System; | ||
| 11 | } | ||
| 12 | |||
| 10 | namespace Service::Sockets { | 13 | namespace Service::Sockets { |
| 11 | 14 | ||
| 12 | class NSD final : public ServiceFramework<NSD> { | 15 | class NSD final : public ServiceFramework<NSD> { |
| 13 | public: | 16 | public: |
| 14 | explicit NSD(const char* name); | 17 | explicit NSD(Core::System& system_, const char* name); |
| 15 | ~NSD() override; | 18 | ~NSD() override; |
| 16 | }; | 19 | }; |
| 17 | 20 | ||
diff --git a/src/core/hle/service/sockets/sfdnsres.cpp b/src/core/hle/service/sockets/sfdnsres.cpp index e3017451f..3a6329f56 100644 --- a/src/core/hle/service/sockets/sfdnsres.cpp +++ b/src/core/hle/service/sockets/sfdnsres.cpp | |||
| @@ -7,25 +7,7 @@ | |||
| 7 | 7 | ||
| 8 | namespace Service::Sockets { | 8 | namespace Service::Sockets { |
| 9 | 9 | ||
| 10 | void SFDNSRES::GetAddrInfoRequest(Kernel::HLERequestContext& ctx) { | 10 | SFDNSRES::SFDNSRES(Core::System& system_) : ServiceFramework{system_, "sfdnsres"} { |
| 11 | struct Parameters { | ||
| 12 | u8 use_nsd_resolve; | ||
| 13 | u32 unknown; | ||
| 14 | u64 process_id; | ||
| 15 | }; | ||
| 16 | |||
| 17 | IPC::RequestParser rp{ctx}; | ||
| 18 | const auto parameters = rp.PopRaw<Parameters>(); | ||
| 19 | |||
| 20 | LOG_WARNING(Service, | ||
| 21 | "(STUBBED) called. use_nsd_resolve={}, unknown=0x{:08X}, process_id=0x{:016X}", | ||
| 22 | parameters.use_nsd_resolve, parameters.unknown, parameters.process_id); | ||
| 23 | |||
| 24 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 25 | rb.Push(RESULT_SUCCESS); | ||
| 26 | } | ||
| 27 | |||
| 28 | SFDNSRES::SFDNSRES() : ServiceFramework("sfdnsres") { | ||
| 29 | static const FunctionInfo functions[] = { | 11 | static const FunctionInfo functions[] = { |
| 30 | {0, nullptr, "SetDnsAddressesPrivate"}, | 12 | {0, nullptr, "SetDnsAddressesPrivate"}, |
| 31 | {1, nullptr, "GetDnsAddressPrivate"}, | 13 | {1, nullptr, "GetDnsAddressPrivate"}, |
| @@ -49,4 +31,22 @@ SFDNSRES::SFDNSRES() : ServiceFramework("sfdnsres") { | |||
| 49 | 31 | ||
| 50 | SFDNSRES::~SFDNSRES() = default; | 32 | SFDNSRES::~SFDNSRES() = default; |
| 51 | 33 | ||
| 34 | void SFDNSRES::GetAddrInfoRequest(Kernel::HLERequestContext& ctx) { | ||
| 35 | struct Parameters { | ||
| 36 | u8 use_nsd_resolve; | ||
| 37 | u32 unknown; | ||
| 38 | u64 process_id; | ||
| 39 | }; | ||
| 40 | |||
| 41 | IPC::RequestParser rp{ctx}; | ||
| 42 | const auto parameters = rp.PopRaw<Parameters>(); | ||
| 43 | |||
| 44 | LOG_WARNING(Service, | ||
| 45 | "(STUBBED) called. use_nsd_resolve={}, unknown=0x{:08X}, process_id=0x{:016X}", | ||
| 46 | parameters.use_nsd_resolve, parameters.unknown, parameters.process_id); | ||
| 47 | |||
| 48 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 49 | rb.Push(RESULT_SUCCESS); | ||
| 50 | } | ||
| 51 | |||
| 52 | } // namespace Service::Sockets | 52 | } // namespace Service::Sockets |
diff --git a/src/core/hle/service/sockets/sfdnsres.h b/src/core/hle/service/sockets/sfdnsres.h index acd3647bb..faa6b7d0d 100644 --- a/src/core/hle/service/sockets/sfdnsres.h +++ b/src/core/hle/service/sockets/sfdnsres.h | |||
| @@ -7,11 +7,15 @@ | |||
| 7 | #include "core/hle/kernel/hle_ipc.h" | 7 | #include "core/hle/kernel/hle_ipc.h" |
| 8 | #include "core/hle/service/service.h" | 8 | #include "core/hle/service/service.h" |
| 9 | 9 | ||
| 10 | namespace Core { | ||
| 11 | class System; | ||
| 12 | } | ||
| 13 | |||
| 10 | namespace Service::Sockets { | 14 | namespace Service::Sockets { |
| 11 | 15 | ||
| 12 | class SFDNSRES final : public ServiceFramework<SFDNSRES> { | 16 | class SFDNSRES final : public ServiceFramework<SFDNSRES> { |
| 13 | public: | 17 | public: |
| 14 | explicit SFDNSRES(); | 18 | explicit SFDNSRES(Core::System& system_); |
| 15 | ~SFDNSRES() override; | 19 | ~SFDNSRES() override; |
| 16 | 20 | ||
| 17 | private: | 21 | private: |
diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp index 1d27f7906..96f73bce3 100644 --- a/src/core/hle/service/sockets/sockets.cpp +++ b/src/core/hle/service/sockets/sockets.cpp | |||
| @@ -13,15 +13,15 @@ namespace Service::Sockets { | |||
| 13 | void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { | 13 | void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { |
| 14 | std::make_shared<BSD>(system, "bsd:s")->InstallAsService(service_manager); | 14 | std::make_shared<BSD>(system, "bsd:s")->InstallAsService(service_manager); |
| 15 | std::make_shared<BSD>(system, "bsd:u")->InstallAsService(service_manager); | 15 | std::make_shared<BSD>(system, "bsd:u")->InstallAsService(service_manager); |
| 16 | std::make_shared<BSDCFG>()->InstallAsService(service_manager); | 16 | std::make_shared<BSDCFG>(system)->InstallAsService(service_manager); |
| 17 | 17 | ||
| 18 | std::make_shared<ETHC_C>()->InstallAsService(service_manager); | 18 | std::make_shared<ETHC_C>(system)->InstallAsService(service_manager); |
| 19 | std::make_shared<ETHC_I>()->InstallAsService(service_manager); | 19 | std::make_shared<ETHC_I>(system)->InstallAsService(service_manager); |
| 20 | 20 | ||
| 21 | std::make_shared<NSD>("nsd:a")->InstallAsService(service_manager); | 21 | std::make_shared<NSD>(system, "nsd:a")->InstallAsService(service_manager); |
| 22 | std::make_shared<NSD>("nsd:u")->InstallAsService(service_manager); | 22 | std::make_shared<NSD>(system, "nsd:u")->InstallAsService(service_manager); |
| 23 | 23 | ||
| 24 | std::make_shared<SFDNSRES>()->InstallAsService(service_manager); | 24 | std::make_shared<SFDNSRES>(system)->InstallAsService(service_manager); |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | } // namespace Service::Sockets | 27 | } // namespace Service::Sockets |