summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/sockets/sockets_translate.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-07-12 03:32:58 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-07-28 06:47:03 +0200
commit80b4bd358348893f891f722d70a0d8ff44cc44c6 (patch)
tree2d4405c23e5952a4b89538254de8866c7f5aa8be /src/core/hle/service/sockets/sockets_translate.h
parentservice/sockets: Add enumerations and structures (diff)
downloadyuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar.gz
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar.bz2
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar.lz
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar.xz
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.tar.zst
yuzu-80b4bd358348893f891f722d70a0d8ff44cc44c6.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/sockets/sockets_translate.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/core/hle/service/sockets/sockets_translate.h b/src/core/hle/service/sockets/sockets_translate.h
new file mode 100644
index 000000000..8ed041e31
--- /dev/null
+++ b/src/core/hle/service/sockets/sockets_translate.h
@@ -0,0 +1,48 @@
+// Copyright 2020 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <utility>
+
+#include "common/common_types.h"
+#include "core/hle/service/sockets/sockets.h"
+#include "core/network/network.h"
+
+namespace Service::Sockets {
+
+/// Translate abstract errno to guest errno
+Errno Translate(Network::Errno value);
+
+/// Translate abstract return value errno pair to guest return value errno pair
+std::pair<s32, Errno> Translate(std::pair<s32, Network::Errno> value);
+
+/// Translate guest domain to abstract domain
+Network::Domain Translate(Domain domain);
+
+/// Translate abstract domain to guest domain
+Domain Translate(Network::Domain domain);
+
+/// Translate guest type to abstract type
+Network::Type Translate(Type type);
+
+/// Translate guest protocol to abstract protocol
+Network::Protocol Translate(Type type, Protocol protocol);
+
+/// Translate abstract poll event flags to guest poll event flags
+u16 TranslatePollEventsToHost(u16 flags);
+
+/// Translate guest poll event flags to abstract poll event flags
+u16 TranslatePollEventsToGuest(u16 flags);
+
+/// Translate guest socket address structure to abstract socket address structure
+Network::SockAddrIn Translate(SockAddrIn value);
+
+/// Translate abstract socket address structure to guest socket address structure
+SockAddrIn Translate(Network::SockAddrIn value);
+
+/// Translate guest shutdown mode to abstract shutdown mode
+Network::ShutdownHow Translate(ShutdownHow how);
+
+} // namespace Service::Sockets