sockets_translate.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2020 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <utility>
  6. #include "common/common_types.h"
  7. #include "core/hle/service/sockets/sockets.h"
  8. #include "core/network/network.h"
  9. namespace Service::Sockets {
  10. /// Translate abstract errno to guest errno
  11. Errno Translate(Network::Errno value);
  12. /// Translate abstract return value errno pair to guest return value errno pair
  13. std::pair<s32, Errno> Translate(std::pair<s32, Network::Errno> value);
  14. /// Translate guest domain to abstract domain
  15. Network::Domain Translate(Domain domain);
  16. /// Translate abstract domain to guest domain
  17. Domain Translate(Network::Domain domain);
  18. /// Translate guest type to abstract type
  19. Network::Type Translate(Type type);
  20. /// Translate guest protocol to abstract protocol
  21. Network::Protocol Translate(Type type, Protocol protocol);
  22. /// Translate abstract poll event flags to guest poll event flags
  23. u16 TranslatePollEventsToHost(u16 flags);
  24. /// Translate guest poll event flags to abstract poll event flags
  25. u16 TranslatePollEventsToGuest(u16 flags);
  26. /// Translate guest socket address structure to abstract socket address structure
  27. Network::SockAddrIn Translate(SockAddrIn value);
  28. /// Translate abstract socket address structure to guest socket address structure
  29. SockAddrIn Translate(Network::SockAddrIn value);
  30. /// Translate guest shutdown mode to abstract shutdown mode
  31. Network::ShutdownHow Translate(ShutdownHow how);
  32. } // namespace Service::Sockets