From 165e7645e1c1a5511599063e35db5314daf24ddc Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 26 Jul 2018 00:55:33 -0400 Subject: 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); -- cgit v1.2.3 From 3f5dfc4d96ceb58747957ea32b95970093b9f5ac Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 26 Jul 2018 01:00:51 -0400 Subject: service/sockets: Add ethc:c and ethc:i services --- src/core/CMakeLists.txt | 2 ++ src/core/hle/service/sockets/ethc.cpp | 38 ++++++++++++++++++++++++++++++++ src/core/hle/service/sockets/ethc.h | 21 ++++++++++++++++++ src/core/hle/service/sockets/sockets.cpp | 5 +++++ 4 files changed, 66 insertions(+) create mode 100644 src/core/hle/service/sockets/ethc.cpp create mode 100644 src/core/hle/service/sockets/ethc.h diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 2e2de59b1..7a67439fd 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -225,6 +225,8 @@ add_library(core STATIC hle/service/sm/sm.h hle/service/sockets/bsd.cpp hle/service/sockets/bsd.h + hle/service/sockets/ethc.cpp + hle/service/sockets/ethc.h hle/service/sockets/nsd.cpp hle/service/sockets/nsd.h hle/service/sockets/sfdnsres.cpp diff --git a/src/core/hle/service/sockets/ethc.cpp b/src/core/hle/service/sockets/ethc.cpp new file mode 100644 index 000000000..d53c25eec --- /dev/null +++ b/src/core/hle/service/sockets/ethc.cpp @@ -0,0 +1,38 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/service/sockets/ethc.h" + +namespace Service::Sockets { + +ETHC_C::ETHC_C() : ServiceFramework{"ethc:c"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "Initialize"}, + {1, nullptr, "Cancel"}, + {2, nullptr, "GetResult"}, + {3, nullptr, "GetMediaList"}, + {4, nullptr, "SetMediaType"}, + {5, nullptr, "GetMediaType"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +ETHC_I::ETHC_I() : ServiceFramework{"ethc:i"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "GetReadableHandle"}, + {1, nullptr, "Cancel"}, + {2, nullptr, "GetResult"}, + {3, nullptr, "GetInterfaceList"}, + {4, nullptr, "GetInterfaceCount"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +} // namespace Service::Sockets diff --git a/src/core/hle/service/sockets/ethc.h b/src/core/hle/service/sockets/ethc.h new file mode 100644 index 000000000..9a3c88100 --- /dev/null +++ b/src/core/hle/service/sockets/ethc.h @@ -0,0 +1,21 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/service.h" + +namespace Service::Sockets { + +class ETHC_C final : public ServiceFramework { +public: + explicit ETHC_C(); +}; + +class ETHC_I final : public ServiceFramework { +public: + explicit ETHC_I(); +}; + +} // namespace Service::Sockets diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp index 96196bb75..08d2d306a 100644 --- a/src/core/hle/service/sockets/sockets.cpp +++ b/src/core/hle/service/sockets/sockets.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include "core/hle/service/sockets/bsd.h" +#include "core/hle/service/sockets/ethc.h" #include "core/hle/service/sockets/nsd.h" #include "core/hle/service/sockets/sfdnsres.h" #include "core/hle/service/sockets/sockets.h" @@ -14,8 +15,12 @@ void InstallInterfaces(SM::ServiceManager& service_manager) { std::make_shared("bsd:u")->InstallAsService(service_manager); std::make_shared()->InstallAsService(service_manager); + std::make_shared()->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); } -- cgit v1.2.3