summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/sockets/bsd.cpp22
-rw-r--r--src/core/hle/service/sockets/bsd.h5
-rw-r--r--src/core/hle/service/sockets/ethc.cpp38
-rw-r--r--src/core/hle/service/sockets/ethc.h21
-rw-r--r--src/core/hle/service/sockets/sockets.cpp7
6 files changed, 95 insertions, 0 deletions
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
225 hle/service/sm/sm.h 225 hle/service/sm/sm.h
226 hle/service/sockets/bsd.cpp 226 hle/service/sockets/bsd.cpp
227 hle/service/sockets/bsd.h 227 hle/service/sockets/bsd.h
228 hle/service/sockets/ethc.cpp
229 hle/service/sockets/ethc.h
228 hle/service/sockets/nsd.cpp 230 hle/service/sockets/nsd.cpp
229 hle/service/sockets/nsd.h 231 hle/service/sockets/nsd.h
230 hle/service/sockets/sfdnsres.cpp 232 hle/service/sockets/sfdnsres.cpp
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) {
109 RegisterHandlers(functions); 109 RegisterHandlers(functions);
110} 110}
111 111
112BSDCFG::BSDCFG() : ServiceFramework{"bsdcfg"} {
113 // clang-format off
114 static const FunctionInfo functions[] = {
115 {0, nullptr, "SetIfUp"},
116 {1, nullptr, "SetIfUpWithEvent"},
117 {2, nullptr, "CancelIf"},
118 {3, nullptr, "SetIfDown"},
119 {4, nullptr, "GetIfState"},
120 {5, nullptr, "DhcpRenew"},
121 {6, nullptr, "AddStaticArpEntry"},
122 {7, nullptr, "RemoveArpEntry"},
123 {8, nullptr, "LookupArpEntry"},
124 {9, nullptr, "LookupArpEntry2"},
125 {10, nullptr, "ClearArpEntries"},
126 {11, nullptr, "ClearArpEntries2"},
127 {12, nullptr, "PrintArpEntries"},
128 };
129 // clang-format on
130
131 RegisterHandlers(functions);
132}
133
112} // namespace Service::Sockets 134} // 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:
26 u32 next_fd = 1; 26 u32 next_fd = 1;
27}; 27};
28 28
29class BSDCFG final : public ServiceFramework<BSDCFG> {
30public:
31 explicit BSDCFG();
32};
33
29} // namespace Service::Sockets 34} // namespace Service::Sockets
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 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/sockets/ethc.h"
6
7namespace Service::Sockets {
8
9ETHC_C::ETHC_C() : ServiceFramework{"ethc:c"} {
10 // clang-format off
11 static const FunctionInfo functions[] = {
12 {0, nullptr, "Initialize"},
13 {1, nullptr, "Cancel"},
14 {2, nullptr, "GetResult"},
15 {3, nullptr, "GetMediaList"},
16 {4, nullptr, "SetMediaType"},
17 {5, nullptr, "GetMediaType"},
18 };
19 // clang-format on
20
21 RegisterHandlers(functions);
22}
23
24ETHC_I::ETHC_I() : ServiceFramework{"ethc:i"} {
25 // clang-format off
26 static const FunctionInfo functions[] = {
27 {0, nullptr, "GetReadableHandle"},
28 {1, nullptr, "Cancel"},
29 {2, nullptr, "GetResult"},
30 {3, nullptr, "GetInterfaceList"},
31 {4, nullptr, "GetInterfaceCount"},
32 };
33 // clang-format on
34
35 RegisterHandlers(functions);
36}
37
38} // 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 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/hle/service/service.h"
8
9namespace Service::Sockets {
10
11class ETHC_C final : public ServiceFramework<ETHC_C> {
12public:
13 explicit ETHC_C();
14};
15
16class ETHC_I final : public ServiceFramework<ETHC_I> {
17public:
18 explicit ETHC_I();
19};
20
21} // namespace Service::Sockets
diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp
index 05bd10d35..08d2d306a 100644
--- a/src/core/hle/service/sockets/sockets.cpp
+++ b/src/core/hle/service/sockets/sockets.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/sockets/bsd.h" 5#include "core/hle/service/sockets/bsd.h"
6#include "core/hle/service/sockets/ethc.h"
6#include "core/hle/service/sockets/nsd.h" 7#include "core/hle/service/sockets/nsd.h"
7#include "core/hle/service/sockets/sfdnsres.h" 8#include "core/hle/service/sockets/sfdnsres.h"
8#include "core/hle/service/sockets/sockets.h" 9#include "core/hle/service/sockets/sockets.h"
@@ -12,8 +13,14 @@ namespace Service::Sockets {
12void InstallInterfaces(SM::ServiceManager& service_manager) { 13void InstallInterfaces(SM::ServiceManager& service_manager) {
13 std::make_shared<BSD>("bsd:s")->InstallAsService(service_manager); 14 std::make_shared<BSD>("bsd:s")->InstallAsService(service_manager);
14 std::make_shared<BSD>("bsd:u")->InstallAsService(service_manager); 15 std::make_shared<BSD>("bsd:u")->InstallAsService(service_manager);
16 std::make_shared<BSDCFG>()->InstallAsService(service_manager);
17
18 std::make_shared<ETHC_C>()->InstallAsService(service_manager);
19 std::make_shared<ETHC_I>()->InstallAsService(service_manager);
20
15 std::make_shared<NSD>("nsd:a")->InstallAsService(service_manager); 21 std::make_shared<NSD>("nsd:a")->InstallAsService(service_manager);
16 std::make_shared<NSD>("nsd:u")->InstallAsService(service_manager); 22 std::make_shared<NSD>("nsd:u")->InstallAsService(service_manager);
23
17 std::make_shared<SFDNSRES>()->InstallAsService(service_manager); 24 std::make_shared<SFDNSRES>()->InstallAsService(service_manager);
18} 25}
19 26