From 165e7645e1c1a5511599063e35db5314daf24ddc Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 26 Jul 2018 00:55:33 -0400 Subject: [PATCH] service/sockets: Add missing bsdcfg socket service --- src/core/hle/service/sockets/bsd.cpp | 22 ++++++++++++++++++++++ src/core/hle/service/sockets/bsd.h | 5 +++++ src/core/hle/service/sockets/sockets.cpp | 2 ++ 3 files changed, 29 insertions(+) diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 6aa1e2511..3211a8346 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -109,4 +109,26 @@ BSD::BSD(const char* name) : ServiceFramework(name) { RegisterHandlers(functions); } +BSDCFG::BSDCFG() : ServiceFramework{"bsdcfg"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "SetIfUp"}, + {1, nullptr, "SetIfUpWithEvent"}, + {2, nullptr, "CancelIf"}, + {3, nullptr, "SetIfDown"}, + {4, nullptr, "GetIfState"}, + {5, nullptr, "DhcpRenew"}, + {6, nullptr, "AddStaticArpEntry"}, + {7, nullptr, "RemoveArpEntry"}, + {8, nullptr, "LookupArpEntry"}, + {9, nullptr, "LookupArpEntry2"}, + {10, nullptr, "ClearArpEntries"}, + {11, nullptr, "ClearArpEntries2"}, + {12, nullptr, "PrintArpEntries"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + } // namespace Service::Sockets diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index a6b1ca7d0..c1da59b24 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h @@ -26,4 +26,9 @@ private: u32 next_fd = 1; }; +class BSDCFG final : public ServiceFramework { +public: + explicit BSDCFG(); +}; + } // namespace Service::Sockets diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp index 05bd10d35..96196bb75 100644 --- a/src/core/hle/service/sockets/sockets.cpp +++ b/src/core/hle/service/sockets/sockets.cpp @@ -12,6 +12,8 @@ namespace Service::Sockets { void InstallInterfaces(SM::ServiceManager& service_manager) { std::make_shared("bsd:s")->InstallAsService(service_manager); std::make_shared("bsd:u")->InstallAsService(service_manager); + std::make_shared()->InstallAsService(service_manager); + std::make_shared("nsd:a")->InstallAsService(service_manager); std::make_shared("nsd:u")->InstallAsService(service_manager); std::make_shared()->InstallAsService(service_manager);