diff options
author | bunnei <bunneidev@gmail.com> | 2022-08-16 20:49:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-16 20:49:33 +0200 |
commit | 6f931d49c74017fb66bf285dd060bc455ae05c85 (patch) | |
tree | 8d0d47e28d1f35a2a97664a14dccb94e9a96fbb5 /src/common/socket_types.h | |
parent | Merge pull request #8104 from Docteh/them_icons (diff) | |
parent | core/socket_proxy: Final nits (diff) | |
download | yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar.gz yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar.bz2 yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar.lz yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar.xz yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.tar.zst yuzu-6f931d49c74017fb66bf285dd060bc455ae05c85.zip |
Diffstat (limited to '')
-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 |