diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2023-07-16 16:56:47 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-16 16:56:47 -0400 |
| commit | 2461c78e3f9368e4a03b4c27fae207cbb1d9cfff (patch) | |
| tree | 50812311958a38d27d9ebcd1cfa443b77ff1c40c /src/core/internal_network/network.h | |
| parent | 04868ab9da2049429808a265dc50696f6300b2b4 (diff) | |
| parent | 644c3ce609c7a327866ae0107bd7772e34e8ecb9 (diff) | |
Merge pull request #10912 from comex/ssl
Implement SSL service
Diffstat (limited to 'src/core/internal_network/network.h')
| -rw-r--r-- | src/core/internal_network/network.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/core/internal_network/network.h b/src/core/internal_network/network.h index 1e09a007a..badcb8369 100644 --- a/src/core/internal_network/network.h +++ b/src/core/internal_network/network.h @@ -5,6 +5,7 @@ #include <array> #include <optional> +#include <vector> #include "common/common_funcs.h" #include "common/common_types.h" @@ -16,6 +17,11 @@ #include <netinet/in.h> #endif +namespace Common { +template <typename T, typename E> +class Expected; +} + namespace Network { class SocketBase; @@ -36,6 +42,26 @@ enum class Errno { NETUNREACH, TIMEDOUT, MSGSIZE, + INPROGRESS, + OTHER, +}; + +enum class GetAddrInfoError { + SUCCESS, + ADDRFAMILY, + AGAIN, + BADFLAGS, + FAIL, + FAMILY, + MEMORY, + NODATA, + NONAME, + SERVICE, + SOCKTYPE, + SYSTEM, + BADHINTS, + PROTOCOL, + OVERFLOW_, OTHER, }; @@ -49,6 +75,9 @@ enum class PollEvents : u16 { Err = 1 << 3, Hup = 1 << 4, Nval = 1 << 5, + RdNorm = 1 << 6, + RdBand = 1 << 7, + WrBand = 1 << 8, }; DECLARE_ENUM_FLAG_OPERATORS(PollEvents); @@ -82,4 +111,11 @@ constexpr IPv4Address TranslateIPv4(in_addr addr) { /// @return human ordered IPv4 address (e.g. 192.168.0.1) as an array std::optional<IPv4Address> GetHostIPv4Address(); +std::string IPv4AddressToString(IPv4Address ip_addr); +u32 IPv4AddressToInteger(IPv4Address ip_addr); + +// named to avoid name collision with Windows macro +Common::Expected<std::vector<AddrInfo>, GetAddrInfoError> GetAddressInfo( + const std::string& host, const std::optional<std::string>& service); + } // namespace Network |
