diff options
| author | bunnei <bunneidev@gmail.com> | 2022-08-16 11:49:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-16 11:49:33 -0700 |
| commit | 6f931d49c74017fb66bf285dd060bc455ae05c85 (patch) | |
| tree | 8d0d47e28d1f35a2a97664a14dccb94e9a96fbb5 /src/core/hle/service/sockets/bsd.h | |
| parent | 4d72612416d8075ad36fa01cbde02956fc0a11f6 (diff) | |
| parent | 4976d14009aded6edadcb07add398d091997bde0 (diff) | |
Merge pull request #8685 from FearlessTobi/multiplayer-part2
core, network: Add ability to proxy socket packets
Diffstat (limited to 'src/core/hle/service/sockets/bsd.h')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index 9ea36428d..81e855e0f 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h @@ -7,14 +7,17 @@ #include <vector> #include "common/common_types.h" +#include "common/socket_types.h" #include "core/hle/service/service.h" #include "core/hle/service/sockets/sockets.h" +#include "network/network.h" namespace Core { class System; } namespace Network { +class SocketBase; class Socket; } // namespace Network @@ -30,7 +33,7 @@ private: static constexpr size_t MAX_FD = 128; struct FileDescriptor { - std::unique_ptr<Network::Socket> socket; + std::unique_ptr<Network::SocketBase> socket; s32 flags = 0; bool is_connection_based = false; }; @@ -165,6 +168,14 @@ private: void BuildErrnoResponse(Kernel::HLERequestContext& ctx, Errno bsd_errno) const noexcept; std::array<std::optional<FileDescriptor>, MAX_FD> file_descriptors; + + Network::RoomNetwork& room_network; + + /// Callback to parse and handle a received wifi packet. + void OnProxyPacketReceived(const Network::ProxyPacket& packet); + + // Callback identifier for the OnProxyPacketReceived event. + Network::RoomMember::CallbackHandle<Network::ProxyPacket> proxy_packet_received; }; class BSDCFG final : public ServiceFramework<BSDCFG> { |
