diff options
| -rw-r--r-- | src/core/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.h | 1 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/sfdnsres.cpp | 36 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/sfdnsres.h | 3 |
5 files changed, 52 insertions, 2 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index d2fcc2c7e..70a38ff6c 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -145,6 +145,7 @@ add_library(core STATIC | |||
| 145 | hle/service/sm/sm.h | 145 | hle/service/sm/sm.h |
| 146 | hle/service/sockets/bsd_u.cpp | 146 | hle/service/sockets/bsd_u.cpp |
| 147 | hle/service/sockets/bsd_u.h | 147 | hle/service/sockets/bsd_u.h |
| 148 | hle/service/sockets/sfdnsres.cpp | ||
| 148 | hle/service/sockets/sfdnsres.h | 149 | hle/service/sockets/sfdnsres.h |
| 149 | hle/service/sockets/sockets.cpp | 150 | hle/service/sockets/sockets.cpp |
| 150 | hle/service/sockets/sockets.h | 151 | hle/service/sockets/sockets.h |
diff --git a/src/core/hle/service/sockets/bsd_u.cpp b/src/core/hle/service/sockets/bsd_u.cpp index 4fd960bd8..629ffb040 100644 --- a/src/core/hle/service/sockets/bsd_u.cpp +++ b/src/core/hle/service/sockets/bsd_u.cpp | |||
| @@ -55,11 +55,22 @@ void BSD_U::SendTo(Kernel::HLERequestContext& ctx) { | |||
| 55 | rb.Push<u32>(0); // bsd errno | 55 | rb.Push<u32>(0); // bsd errno |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | void BSD_U::Close(Kernel::HLERequestContext& ctx) { | ||
| 59 | LOG_WARNING(Service, "(STUBBED) called"); | ||
| 60 | |||
| 61 | IPC::ResponseBuilder rb{ctx, 4}; | ||
| 62 | |||
| 63 | rb.Push(RESULT_SUCCESS); | ||
| 64 | rb.Push<u32>(0); // ret | ||
| 65 | rb.Push<u32>(0); // bsd errno | ||
| 66 | } | ||
| 67 | |||
| 58 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { | 68 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { |
| 59 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, | 69 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, |
| 60 | {2, &BSD_U::Socket, "Socket"}, | 70 | {2, &BSD_U::Socket, "Socket"}, |
| 61 | {11, &BSD_U::SendTo, "SendTo"}, | 71 | {11, &BSD_U::SendTo, "SendTo"}, |
| 62 | {14, &BSD_U::Connect, "Connect"}}; | 72 | {14, &BSD_U::Connect, "Connect"}, |
| 73 | {26, &BSD_U::Close, "Close"}}; | ||
| 63 | RegisterHandlers(functions); | 74 | RegisterHandlers(functions); |
| 64 | } | 75 | } |
| 65 | 76 | ||
diff --git a/src/core/hle/service/sockets/bsd_u.h b/src/core/hle/service/sockets/bsd_u.h index 1fe96d850..fde08a22b 100644 --- a/src/core/hle/service/sockets/bsd_u.h +++ b/src/core/hle/service/sockets/bsd_u.h | |||
| @@ -20,6 +20,7 @@ private: | |||
| 20 | void Socket(Kernel::HLERequestContext& ctx); | 20 | void Socket(Kernel::HLERequestContext& ctx); |
| 21 | void Connect(Kernel::HLERequestContext& ctx); | 21 | void Connect(Kernel::HLERequestContext& ctx); |
| 22 | void SendTo(Kernel::HLERequestContext& ctx); | 22 | void SendTo(Kernel::HLERequestContext& ctx); |
| 23 | void Close(Kernel::HLERequestContext& ctx); | ||
| 23 | 24 | ||
| 24 | /// Id to use for the next open file descriptor. | 25 | /// Id to use for the next open file descriptor. |
| 25 | u32 next_fd = 1; | 26 | u32 next_fd = 1; |
diff --git a/src/core/hle/service/sockets/sfdnsres.cpp b/src/core/hle/service/sockets/sfdnsres.cpp new file mode 100644 index 000000000..4d7bc7c3e --- /dev/null +++ b/src/core/hle/service/sockets/sfdnsres.cpp | |||
| @@ -0,0 +1,36 @@ | |||
| 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/ipc_helpers.h" | ||
| 6 | #include "core/hle/service/sockets/sfdnsres.h" | ||
| 7 | |||
| 8 | namespace Service { | ||
| 9 | namespace Sockets { | ||
| 10 | |||
| 11 | void SFDNSRES::GetAddrInfo(Kernel::HLERequestContext& ctx) { | ||
| 12 | IPC::RequestParser rp{ctx}; | ||
| 13 | |||
| 14 | LOG_WARNING(Service, "(STUBBED) called"); | ||
| 15 | |||
| 16 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 17 | |||
| 18 | rb.Push(RESULT_SUCCESS); | ||
| 19 | } | ||
| 20 | |||
| 21 | SFDNSRES::SFDNSRES() : ServiceFramework("sfdnsres") { | ||
| 22 | static const FunctionInfo functions[] = {{0, nullptr, "SetDnsAddressesPrivate"}, | ||
| 23 | {1, nullptr, "GetDnsAddressPrivate"}, | ||
| 24 | {2, nullptr, "GetHostByName"}, | ||
| 25 | {3, nullptr, "GetHostByAddr"}, | ||
| 26 | {4, nullptr, "GetHostStringError"}, | ||
| 27 | {5, nullptr, "GetGaiStringError"}, | ||
| 28 | {6, &SFDNSRES::GetAddrInfo, "GetAddrInfo"}, | ||
| 29 | {7, nullptr, "GetNameInfo"}, | ||
| 30 | {8, nullptr, "RequestCancelHandle"}, | ||
| 31 | {9, nullptr, "CancelSocketCall"}}; | ||
| 32 | RegisterHandlers(functions); | ||
| 33 | } | ||
| 34 | |||
| 35 | } // namespace Sockets | ||
| 36 | } // namespace Service | ||
diff --git a/src/core/hle/service/sockets/sfdnsres.h b/src/core/hle/service/sockets/sfdnsres.h index 32a3ac8c5..b726a30fd 100644 --- a/src/core/hle/service/sockets/sfdnsres.h +++ b/src/core/hle/service/sockets/sfdnsres.h | |||
| @@ -12,10 +12,11 @@ namespace Sockets { | |||
| 12 | 12 | ||
| 13 | class SFDNSRES final : public ServiceFramework<SFDNSRES> { | 13 | class SFDNSRES final : public ServiceFramework<SFDNSRES> { |
| 14 | public: | 14 | public: |
| 15 | SFDNSRES() : ServiceFramework("sfdnsres") {} | 15 | SFDNSRES(); |
| 16 | ~SFDNSRES() = default; | 16 | ~SFDNSRES() = default; |
| 17 | 17 | ||
| 18 | private: | 18 | private: |
| 19 | void GetAddrInfo(Kernel::HLERequestContext& ctx); | ||
| 19 | }; | 20 | }; |
| 20 | 21 | ||
| 21 | } // namespace Sockets | 22 | } // namespace Sockets |