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 | 9caa16c8d4f796171ea1c2db9ea04539e59bb6ae (patch) | |
| tree | 8d0d47e28d1f35a2a97664a14dccb94e9a96fbb5 /src/common/socket_types.h | |
| parent | e97cffd2c125c169a9d6c41c32d778fa73fd7e69 (diff) | |
| parent | df835dc2895a14be598e4fdb7cbf2351cba1284a (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 0000000000..0a801a4433 --- /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 |
