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/common/socket_types.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/common/socket_types.h')
| -rw-r--r-- | src/common/socket_types.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/common/socket_types.h b/src/common/socket_types.h new file mode 100644 index 000000000..0a801a443 --- /dev/null +++ b/src/common/socket_types.h @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "common/common_types.h" + +namespace Network { + +/// Address families +enum class Domain : u8 { + INET, ///< Address family for IPv4 +}; + +/// Socket types +enum class Type { + STREAM, + DGRAM, + RAW, + SEQPACKET, +}; + +/// Protocol values for sockets +enum class Protocol : u8 { + ICMP, + TCP, + UDP, +}; + +/// Shutdown mode +enum class ShutdownHow { + RD, + WR, + RDWR, +}; + +/// Array of IPv4 address +using IPv4Address = std::array<u8, 4>; + +/// Cross-platform sockaddr structure +struct SockAddrIn { + Domain family; + IPv4Address ip; + u16 portno; +}; + +constexpr u32 FLAG_MSG_PEEK = 0x2; +constexpr u32 FLAG_MSG_DONTWAIT = 0x80; +constexpr u32 FLAG_O_NONBLOCK = 0x800; + +} // namespace Network |
