From 7153c00ede799f3af95a80ab5da4aae06f08d021 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 18 Mar 2026 00:13:28 +0000 Subject: [PATCH] FIX BSD DEFINE IN FUCKING BSD?, fix INVALID_SOCKET on httplib --- .../hle/service/bcat/news/builtin_news.cpp | 1 + src/core/hle/service/sockets/bsd.cpp | 178 +++++++++--------- src/core/hle/service/sockets/bsd.h | 20 +- src/core/hle/service/sockets/sockets.cpp | 4 +- src/core/hle/service/ssl/ssl.cpp | 4 +- src/frontend_common/update_checker.cpp | 1 + src/qt_common/discord/discord_impl.cpp | 1 + src/web_service/web_backend.cpp | 1 + 8 files changed, 107 insertions(+), 103 deletions(-) diff --git a/src/core/hle/service/bcat/news/builtin_news.cpp b/src/core/hle/service/bcat/news/builtin_news.cpp index ed001b056b..dd27723a90 100644 --- a/src/core/hle/service/bcat/news/builtin_news.cpp +++ b/src/core/hle/service/bcat/news/builtin_news.cpp @@ -17,6 +17,7 @@ #ifdef CPPHTTPLIB_OPENSSL_SUPPORT #include +#undef INVALID_SOCKET #endif #include diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index fd758d4915..4304ee8b76 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -56,11 +56,11 @@ void PutValue(std::span buffer, const T& t) { } // Anonymous namespace -void BSD::PollWork::Execute(BSD* bsd) { +void NetworkBSD::PollWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->PollImpl(write_buffer, read_buffer, nfds, timeout); } -void BSD::PollWork::Response(HLERequestContext& ctx) { +void NetworkBSD::PollWork::Response(HLERequestContext& ctx) { if (write_buffer.size() > 0) { ctx.WriteBuffer(write_buffer); } @@ -71,11 +71,11 @@ void BSD::PollWork::Response(HLERequestContext& ctx) { rb.PushEnum(bsd_errno); } -void BSD::AcceptWork::Execute(BSD* bsd) { +void NetworkBSD::AcceptWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->AcceptImpl(fd, write_buffer); } -void BSD::AcceptWork::Response(HLERequestContext& ctx) { +void NetworkBSD::AcceptWork::Response(HLERequestContext& ctx) { if (write_buffer.size() > 0) { ctx.WriteBuffer(write_buffer); } @@ -87,22 +87,22 @@ void BSD::AcceptWork::Response(HLERequestContext& ctx) { rb.Push(static_cast(write_buffer.size())); } -void BSD::ConnectWork::Execute(BSD* bsd) { +void NetworkBSD::ConnectWork::Execute(NetworkBSD* bsd) { bsd_errno = bsd->ConnectImpl(fd, addr); } -void BSD::ConnectWork::Response(HLERequestContext& ctx) { +void NetworkBSD::ConnectWork::Response(HLERequestContext& ctx) { IPC::ResponseBuilder rb{ctx, 4}; rb.Push(ResultSuccess); rb.Push(bsd_errno == Errno::SUCCESS ? 0 : -1); rb.PushEnum(bsd_errno); } -void BSD::RecvWork::Execute(BSD* bsd) { +void NetworkBSD::RecvWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->RecvImpl(fd, flags, message); } -void BSD::RecvWork::Response(HLERequestContext& ctx) { +void NetworkBSD::RecvWork::Response(HLERequestContext& ctx) { ctx.WriteBuffer(message); IPC::ResponseBuilder rb{ctx, 4}; @@ -111,11 +111,11 @@ void BSD::RecvWork::Response(HLERequestContext& ctx) { rb.PushEnum(bsd_errno); } -void BSD::RecvFromWork::Execute(BSD* bsd) { +void NetworkBSD::RecvFromWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->RecvFromImpl(fd, flags, message, addr); } -void BSD::RecvFromWork::Response(HLERequestContext& ctx) { +void NetworkBSD::RecvFromWork::Response(HLERequestContext& ctx) { ctx.WriteBuffer(message, 0); if (!addr.empty()) { ctx.WriteBuffer(addr, 1); @@ -128,29 +128,29 @@ void BSD::RecvFromWork::Response(HLERequestContext& ctx) { rb.Push(static_cast(addr.size())); } -void BSD::SendWork::Execute(BSD* bsd) { +void NetworkBSD::SendWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->SendImpl(fd, flags, message); } -void BSD::SendWork::Response(HLERequestContext& ctx) { +void NetworkBSD::SendWork::Response(HLERequestContext& ctx) { IPC::ResponseBuilder rb{ctx, 4}; rb.Push(ResultSuccess); rb.Push(ret); rb.PushEnum(bsd_errno); } -void BSD::SendToWork::Execute(BSD* bsd) { +void NetworkBSD::SendToWork::Execute(NetworkBSD* bsd) { std::tie(ret, bsd_errno) = bsd->SendToImpl(fd, flags, message, addr); } -void BSD::SendToWork::Response(HLERequestContext& ctx) { +void NetworkBSD::SendToWork::Response(HLERequestContext& ctx) { IPC::ResponseBuilder rb{ctx, 4}; rb.Push(ResultSuccess); rb.Push(ret); rb.PushEnum(bsd_errno); } -void BSD::RegisterClient(HLERequestContext& ctx) { +void NetworkBSD::RegisterClient(HLERequestContext& ctx) { LOG_WARNING(Service, "(STUBBED) called"); IPC::ResponseBuilder rb{ctx, 3}; @@ -159,7 +159,7 @@ void BSD::RegisterClient(HLERequestContext& ctx) { rb.Push(0); // bsd errno } -void BSD::StartMonitoring(HLERequestContext& ctx) { +void NetworkBSD::StartMonitoring(HLERequestContext& ctx) { LOG_WARNING(Service, "(STUBBED) called"); IPC::ResponseBuilder rb{ctx, 2}; @@ -167,7 +167,7 @@ void BSD::StartMonitoring(HLERequestContext& ctx) { rb.Push(ResultSuccess); } -void BSD::Socket(HLERequestContext& ctx) { +void NetworkBSD::Socket(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const u32 domain = rp.Pop(); const u32 type = rp.Pop(); @@ -184,7 +184,7 @@ void BSD::Socket(HLERequestContext& ctx) { rb.PushEnum(bsd_errno); } -void BSD::Select(HLERequestContext& ctx) { +void NetworkBSD::Select(HLERequestContext& ctx) { LOG_DEBUG(Service, "(STUBBED) called"); IPC::ResponseBuilder rb{ctx, 4}; @@ -194,7 +194,7 @@ void BSD::Select(HLERequestContext& ctx) { rb.Push(0); // bsd errno } -void BSD::Poll(HLERequestContext& ctx) { +void NetworkBSD::Poll(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 nfds = rp.Pop(); const s32 timeout = rp.Pop(); @@ -209,7 +209,7 @@ void BSD::Poll(HLERequestContext& ctx) { }); } -void BSD::Accept(HLERequestContext& ctx) { +void NetworkBSD::Accept(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -221,7 +221,7 @@ void BSD::Accept(HLERequestContext& ctx) { }); } -void BSD::Bind(HLERequestContext& ctx) { +void NetworkBSD::Bind(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -229,7 +229,7 @@ void BSD::Bind(HLERequestContext& ctx) { BuildErrnoResponse(ctx, BindImpl(fd, ctx.ReadBuffer())); } -void BSD::Connect(HLERequestContext& ctx) { +void NetworkBSD::Connect(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -241,7 +241,7 @@ void BSD::Connect(HLERequestContext& ctx) { }); } -void BSD::GetPeerName(HLERequestContext& ctx) { +void NetworkBSD::GetPeerName(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -259,7 +259,7 @@ void BSD::GetPeerName(HLERequestContext& ctx) { rb.Push(static_cast(write_buffer.size())); } -void BSD::GetSockName(HLERequestContext& ctx) { +void NetworkBSD::GetSockName(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -277,7 +277,7 @@ void BSD::GetSockName(HLERequestContext& ctx) { rb.Push(static_cast(write_buffer.size())); } -void BSD::GetSockOpt(HLERequestContext& ctx) { +void NetworkBSD::GetSockOpt(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); const u32 level = rp.Pop(); @@ -299,7 +299,7 @@ void BSD::GetSockOpt(HLERequestContext& ctx) { rb.Push(static_cast(optval.size())); } -void BSD::Listen(HLERequestContext& ctx) { +void NetworkBSD::Listen(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); const s32 backlog = rp.Pop(); @@ -309,7 +309,7 @@ void BSD::Listen(HLERequestContext& ctx) { BuildErrnoResponse(ctx, ListenImpl(fd, backlog)); } -void BSD::Fcntl(HLERequestContext& ctx) { +void NetworkBSD::Fcntl(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); const s32 cmd = rp.Pop(); @@ -325,7 +325,7 @@ void BSD::Fcntl(HLERequestContext& ctx) { rb.PushEnum(bsd_errno); } -void BSD::SetSockOpt(HLERequestContext& ctx) { +void NetworkBSD::SetSockOpt(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -339,7 +339,7 @@ void BSD::SetSockOpt(HLERequestContext& ctx) { BuildErrnoResponse(ctx, SetSockOptImpl(fd, level, optname, optval)); } -void BSD::Shutdown(HLERequestContext& ctx) { +void NetworkBSD::Shutdown(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -350,7 +350,7 @@ void BSD::Shutdown(HLERequestContext& ctx) { BuildErrnoResponse(ctx, ShutdownImpl(fd, how)); } -void BSD::Recv(HLERequestContext& ctx) { +void NetworkBSD::Recv(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -365,7 +365,7 @@ void BSD::Recv(HLERequestContext& ctx) { }); } -void BSD::RecvFrom(HLERequestContext& ctx) { +void NetworkBSD::RecvFrom(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -382,7 +382,7 @@ void BSD::RecvFrom(HLERequestContext& ctx) { }); } -void BSD::Send(HLERequestContext& ctx) { +void NetworkBSD::Send(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -397,7 +397,7 @@ void BSD::Send(HLERequestContext& ctx) { }); } -void BSD::SendTo(HLERequestContext& ctx) { +void NetworkBSD::SendTo(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); const u32 flags = rp.Pop(); @@ -413,7 +413,7 @@ void BSD::SendTo(HLERequestContext& ctx) { }); } -void BSD::Write(HLERequestContext& ctx) { +void NetworkBSD::Write(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -426,7 +426,7 @@ void BSD::Write(HLERequestContext& ctx) { }); } -void BSD::Read(HLERequestContext& ctx) { +void NetworkBSD::Read(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -438,7 +438,7 @@ void BSD::Read(HLERequestContext& ctx) { rb.Push(0); // bsd errno } -void BSD::Close(HLERequestContext& ctx) { +void NetworkBSD::Close(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop(); @@ -447,7 +447,7 @@ void BSD::Close(HLERequestContext& ctx) { BuildErrnoResponse(ctx, CloseImpl(fd)); } -void BSD::DuplicateSocket(HLERequestContext& ctx) { +void NetworkBSD::DuplicateSocket(HLERequestContext& ctx) { struct InputParameters { s32 fd; u64 reserved; @@ -472,7 +472,7 @@ void BSD::DuplicateSocket(HLERequestContext& ctx) { }); } -void BSD::EventFd(HLERequestContext& ctx) { +void NetworkBSD::EventFd(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const u64 initval = rp.Pop(); const u32 flags = rp.Pop(); @@ -483,12 +483,12 @@ void BSD::EventFd(HLERequestContext& ctx) { } template -void BSD::ExecuteWork(HLERequestContext& ctx, Work work) { +void NetworkBSD::ExecuteWork(HLERequestContext& ctx, Work work) { work.Execute(this); work.Response(ctx); } -std::pair BSD::SocketImpl(Domain domain, Type type, Protocol protocol) { +std::pair NetworkBSD::SocketImpl(Domain domain, Type type, Protocol protocol) { if (type == Type::SEQPACKET) { UNIMPLEMENTED_MSG("SOCK_SEQPACKET errno management"); @@ -530,7 +530,7 @@ std::pair BSD::SocketImpl(Domain domain, Type type, Protocol protoco return {fd, Errno::SUCCESS}; } -std::pair BSD::PollImpl(std::vector& write_buffer, std::span read_buffer, +std::pair NetworkBSD::PollImpl(std::vector& write_buffer, std::span read_buffer, s32 nfds, s32 timeout) { if (nfds <= 0) { // When no entries are provided, -1 is returned with errno zero @@ -597,7 +597,7 @@ std::pair BSD::PollImpl(std::vector& write_buffer, std::span BSD::AcceptImpl(s32 fd, std::vector& write_buffer) { +std::pair NetworkBSD::AcceptImpl(s32 fd, std::vector& write_buffer) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; } @@ -625,7 +625,7 @@ std::pair BSD::AcceptImpl(s32 fd, std::vector& write_buffer) { return {new_fd, Errno::SUCCESS}; } -Errno BSD::BindImpl(s32 fd, std::span addr) { +Errno NetworkBSD::BindImpl(s32 fd, std::span addr) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -635,7 +635,7 @@ Errno BSD::BindImpl(s32 fd, std::span addr) { return Translate(file_descriptors[fd]->socket->Bind(Translate(addr_in))); } -Errno BSD::ConnectImpl(s32 fd, std::span addr) { +Errno NetworkBSD::ConnectImpl(s32 fd, std::span addr) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -653,7 +653,7 @@ Errno BSD::ConnectImpl(s32 fd, std::span addr) { return result; } -Errno BSD::GetPeerNameImpl(s32 fd, std::vector& write_buffer) { +Errno NetworkBSD::GetPeerNameImpl(s32 fd, std::vector& write_buffer) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -670,7 +670,7 @@ Errno BSD::GetPeerNameImpl(s32 fd, std::vector& write_buffer) { return Translate(bsd_errno); } -Errno BSD::GetSockNameImpl(s32 fd, std::vector& write_buffer) { +Errno NetworkBSD::GetSockNameImpl(s32 fd, std::vector& write_buffer) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -687,14 +687,14 @@ Errno BSD::GetSockNameImpl(s32 fd, std::vector& write_buffer) { return Translate(bsd_errno); } -Errno BSD::ListenImpl(s32 fd, s32 backlog) { +Errno NetworkBSD::ListenImpl(s32 fd, s32 backlog) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } return Translate(file_descriptors[fd]->socket->Listen(backlog)); } -std::pair BSD::FcntlImpl(s32 fd, FcntlCmd cmd, s32 arg) { +std::pair NetworkBSD::FcntlImpl(s32 fd, FcntlCmd cmd, s32 arg) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; } @@ -720,7 +720,7 @@ std::pair BSD::FcntlImpl(s32 fd, FcntlCmd cmd, s32 arg) { } } -Errno BSD::GetSockOptImpl(s32 fd, u32 level, OptName optname, std::vector& optval) { +Errno NetworkBSD::GetSockOptImpl(s32 fd, u32 level, OptName optname, std::vector& optval) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -751,7 +751,7 @@ Errno BSD::GetSockOptImpl(s32 fd, u32 level, OptName optname, std::vector& o } } -Errno BSD::SetSockOptImpl(s32 fd, u32 level, OptName optname, std::span optval) { +Errno NetworkBSD::SetSockOptImpl(s32 fd, u32 level, OptName optname, std::span optval) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -801,7 +801,7 @@ Errno BSD::SetSockOptImpl(s32 fd, u32 level, OptName optname, std::spansocket->Shutdown(host_how)); } -std::pair BSD::RecvImpl(s32 fd, u32 flags, std::vector& message) { +std::pair NetworkBSD::RecvImpl(s32 fd, u32 flags, std::vector& message) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; } @@ -836,7 +836,7 @@ std::pair BSD::RecvImpl(s32 fd, u32 flags, std::vector& message) return {ret, bsd_errno}; } -std::pair BSD::RecvFromImpl(s32 fd, u32 flags, std::vector& message, +std::pair NetworkBSD::RecvFromImpl(s32 fd, u32 flags, std::vector& message, std::vector& addr) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; @@ -883,14 +883,14 @@ std::pair BSD::RecvFromImpl(s32 fd, u32 flags, std::vector& mess return {ret, bsd_errno}; } -std::pair BSD::SendImpl(s32 fd, u32 flags, std::span message) { +std::pair NetworkBSD::SendImpl(s32 fd, u32 flags, std::span message) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; } return Translate(file_descriptors[fd]->socket->Send(message, flags)); } -std::pair BSD::SendToImpl(s32 fd, u32 flags, std::span message, +std::pair NetworkBSD::SendToImpl(s32 fd, u32 flags, std::span message, std::span addr) { if (!IsFileDescriptorValid(fd)) { return {-1, Errno::BADF}; @@ -908,7 +908,7 @@ std::pair BSD::SendToImpl(s32 fd, u32 flags, std::span mes return Translate(file_descriptors[fd]->socket->SendTo(flags, message, p_addr_in)); } -Errno BSD::CloseImpl(s32 fd) { +Errno NetworkBSD::CloseImpl(s32 fd) { if (!IsFileDescriptorValid(fd)) { return Errno::BADF; } @@ -924,7 +924,7 @@ Errno BSD::CloseImpl(s32 fd) { return bsd_errno; } -Expected BSD::DuplicateSocketImpl(s32 fd) { +Expected NetworkBSD::DuplicateSocketImpl(s32 fd) { if (!IsFileDescriptorValid(fd)) { return Unexpected(Errno::BADF); } @@ -943,14 +943,14 @@ Expected BSD::DuplicateSocketImpl(s32 fd) { return new_fd; } -std::optional> BSD::GetSocket(s32 fd) { +std::optional> NetworkBSD::GetSocket(s32 fd) { if (!IsFileDescriptorValid(fd)) { return std::nullopt; } return file_descriptors[fd]->socket; } -s32 BSD::FindFreeFileDescriptorHandle() noexcept { +s32 NetworkBSD::FindFreeFileDescriptorHandle() noexcept { for (s32 fd = 0; fd < static_cast(file_descriptors.size()); ++fd) { if (!file_descriptors[fd]) { return fd; @@ -959,7 +959,7 @@ s32 BSD::FindFreeFileDescriptorHandle() noexcept { return -1; } -bool BSD::IsFileDescriptorValid(s32 fd) const noexcept { +bool NetworkBSD::IsFileDescriptorValid(s32 fd) const noexcept { if (fd > static_cast(MAX_FD) || fd < 0) { LOG_ERROR(Service, "Invalid file descriptor handle={}", fd); return false; @@ -971,7 +971,7 @@ bool BSD::IsFileDescriptorValid(s32 fd) const noexcept { return true; } -void BSD::BuildErrnoResponse(HLERequestContext& ctx, Errno bsd_errno) const noexcept { +void NetworkBSD::BuildErrnoResponse(HLERequestContext& ctx, Errno bsd_errno) const noexcept { IPC::ResponseBuilder rb{ctx, 4}; rb.Push(ResultSuccess); @@ -979,7 +979,7 @@ void BSD::BuildErrnoResponse(HLERequestContext& ctx, Errno bsd_errno) const noex rb.PushEnum(bsd_errno); } -void BSD::OnProxyPacketReceived(const Network::ProxyPacket& packet) { +void NetworkBSD::OnProxyPacketReceived(const Network::ProxyPacket& packet) { for (auto& optional_descriptor : file_descriptors) { if (!optional_descriptor.has_value()) { continue; @@ -989,42 +989,42 @@ void BSD::OnProxyPacketReceived(const Network::ProxyPacket& packet) { } } -BSD::BSD(Core::System& system_, const char* name) +NetworkBSD::NetworkBSD(Core::System& system_, const char* name) : ServiceFramework{system_, name} { // clang-format off static const FunctionInfo functions[] = { - {0, &BSD::RegisterClient, "RegisterClient"}, - {1, &BSD::StartMonitoring, "StartMonitoring"}, - {2, &BSD::Socket, "Socket"}, + {0, &NetworkBSD::RegisterClient, "RegisterClient"}, + {1, &NetworkBSD::StartMonitoring, "StartMonitoring"}, + {2, &NetworkBSD::Socket, "Socket"}, {3, nullptr, "SocketExempt"}, {4, nullptr, "Open"}, - {5, &BSD::Select, "Select"}, - {6, &BSD::Poll, "Poll"}, + {5, &NetworkBSD::Select, "Select"}, + {6, &NetworkBSD::Poll, "Poll"}, {7, nullptr, "Sysctl"}, - {8, &BSD::Recv, "Recv"}, - {9, &BSD::RecvFrom, "RecvFrom"}, - {10, &BSD::Send, "Send"}, - {11, &BSD::SendTo, "SendTo"}, - {12, &BSD::Accept, "Accept"}, - {13, &BSD::Bind, "Bind"}, - {14, &BSD::Connect, "Connect"}, - {15, &BSD::GetPeerName, "GetPeerName"}, - {16, &BSD::GetSockName, "GetSockName"}, - {17, &BSD::GetSockOpt, "GetSockOpt"}, - {18, &BSD::Listen, "Listen"}, + {8, &NetworkBSD::Recv, "Recv"}, + {9, &NetworkBSD::RecvFrom, "RecvFrom"}, + {10, &NetworkBSD::Send, "Send"}, + {11, &NetworkBSD::SendTo, "SendTo"}, + {12, &NetworkBSD::Accept, "Accept"}, + {13, &NetworkBSD::Bind, "Bind"}, + {14, &NetworkBSD::Connect, "Connect"}, + {15, &NetworkBSD::GetPeerName, "GetPeerName"}, + {16, &NetworkBSD::GetSockName, "GetSockName"}, + {17, &NetworkBSD::GetSockOpt, "GetSockOpt"}, + {18, &NetworkBSD::Listen, "Listen"}, {19, nullptr, "Ioctl"}, - {20, &BSD::Fcntl, "Fcntl"}, - {21, &BSD::SetSockOpt, "SetSockOpt"}, - {22, &BSD::Shutdown, "Shutdown"}, + {20, &NetworkBSD::Fcntl, "Fcntl"}, + {21, &NetworkBSD::SetSockOpt, "SetSockOpt"}, + {22, &NetworkBSD::Shutdown, "Shutdown"}, {23, nullptr, "ShutdownAllSockets"}, - {24, &BSD::Write, "Write"}, - {25, &BSD::Read, "Read"}, - {26, &BSD::Close, "Close"}, - {27, &BSD::DuplicateSocket, "DuplicateSocket"}, + {24, &NetworkBSD::Write, "Write"}, + {25, &NetworkBSD::Read, "Read"}, + {26, &NetworkBSD::Close, "Close"}, + {27, &NetworkBSD::DuplicateSocket, "DuplicateSocket"}, {28, nullptr, "GetResourceStatistics"}, {29, nullptr, "RecvMMsg"}, //3.0.0+ {30, nullptr, "SendMMsg"}, //3.0.0+ - {31, &BSD::EventFd, "EventFd"}, //7.0.0+ + {31, &NetworkBSD::EventFd, "EventFd"}, //7.0.0+ {32, nullptr, "RegisterResourceStatisticsName"}, //7.0.0+ {33, nullptr, "RegisterClientShared"}, //10.0.0+ {34, nullptr, "GetSocketStatistics"}, //15.0.0+ @@ -1052,13 +1052,13 @@ BSD::BSD(Core::System& system_, const char* name) } } -BSD::~BSD() { +NetworkBSD::~NetworkBSD() { if (auto room_member = Network::GetRoomMember().lock()) { room_member->Unbind(proxy_packet_received); } } -std::unique_lock BSD::LockService() noexcept { +std::unique_lock NetworkBSD::LockService() noexcept { return {}; } diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index 32b5bdc3cf..60de147636 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h @@ -27,10 +27,10 @@ class Socket; namespace Service::Sockets { -class BSD final : public ServiceFramework { +class NetworkBSD final : public ServiceFramework { public: - explicit BSD(Core::System& system_, const char* name); - ~BSD() override; + explicit NetworkBSD(Core::System& system_, const char* name); + ~NetworkBSD() override; // These methods are called from SSL; the first two are also called from // this class for the corresponding IPC methods. @@ -50,7 +50,7 @@ private: }; struct PollWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 nfds; @@ -62,7 +62,7 @@ private: }; struct AcceptWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; @@ -72,7 +72,7 @@ private: }; struct ConnectWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; @@ -81,7 +81,7 @@ private: }; struct RecvWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; @@ -92,7 +92,7 @@ private: }; struct RecvFromWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; @@ -104,7 +104,7 @@ private: }; struct SendWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; @@ -115,7 +115,7 @@ private: }; struct SendToWork { - void Execute(BSD* bsd); + void Execute(NetworkBSD* bsd); void Response(HLERequestContext& ctx); s32 fd; diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp index 676d24e036..c0cd8fdbd6 100644 --- a/src/core/hle/service/sockets/sockets.cpp +++ b/src/core/hle/service/sockets/sockets.cpp @@ -12,8 +12,8 @@ namespace Service::Sockets { void LoopProcess(Core::System& system) { auto server_manager = std::make_unique(system); - server_manager->RegisterNamedService("bsd:s", std::make_shared(system, "bsd:s")); - server_manager->RegisterNamedService("bsd:u", std::make_shared(system, "bsd:u")); + server_manager->RegisterNamedService("bsd:s", std::make_shared(system, "bsd:s")); + server_manager->RegisterNamedService("bsd:u", std::make_shared(system, "bsd:u")); server_manager->RegisterNamedService("bsdcfg", std::make_shared(system)); server_manager->RegisterNamedService("nsd:a", std::make_shared(system, "nsd:a")); server_manager->RegisterNamedService("nsd:u", std::make_shared(system, "nsd:u")); diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index b66c686b2a..3570068944 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -129,7 +129,7 @@ public: LOG_ERROR(Service_SSL, "do_not_close_socket was changed after setting socket; is this right?"); } else { - auto bsd = system.ServiceManager().GetService("bsd:u"); + auto bsd = system.ServiceManager().GetService("bsd:u"); if (bsd) { auto err = bsd->CloseImpl(fd); if (err != Service::Sockets::Errno::SUCCESS) { @@ -157,7 +157,7 @@ private: Result SetSocketDescriptorImpl(s32* out_fd, s32 fd) { LOG_DEBUG(Service_SSL, "called, fd={}", fd); ASSERT(!did_handshake); - auto bsd = system.ServiceManager().GetService("bsd:u"); + auto bsd = system.ServiceManager().GetService("bsd:u"); ASSERT_OR_EXECUTE(bsd, { return ResultInternalError; }); auto res = bsd->DuplicateSocketImpl(fd); diff --git a/src/frontend_common/update_checker.cpp b/src/frontend_common/update_checker.cpp index 75b1dc00cc..68aadb0e0a 100644 --- a/src/frontend_common/update_checker.cpp +++ b/src/frontend_common/update_checker.cpp @@ -14,6 +14,7 @@ #include "update_checker.h" #include +#undef INVALID_SOCKET #ifdef YUZU_BUNDLED_OPENSSL #include diff --git a/src/qt_common/discord/discord_impl.cpp b/src/qt_common/discord/discord_impl.cpp index 37b24cdd57..8d03a7a407 100644 --- a/src/qt_common/discord/discord_impl.cpp +++ b/src/qt_common/discord/discord_impl.cpp @@ -10,6 +10,7 @@ #include #include #include +#undef INVALID_SOCKET #include #include diff --git a/src/web_service/web_backend.cpp b/src/web_service/web_backend.cpp index 60b11fff5a..08413cbeb8 100644 --- a/src/web_service/web_backend.cpp +++ b/src/web_service/web_backend.cpp @@ -17,6 +17,7 @@ #endif #endif #include +#undef INVALID_SOCKET #ifdef __GNUC__ #pragma GCC diagnostic pop #endif