From 3d9fbffbabbe2125ae6208d2d0049552e9293e49 Mon Sep 17 00:00:00 2001 From: Subv Date: Sun, 22 May 2016 11:22:49 -0500 Subject: Kernel: Added ClientPort and ServerPort classes. This is part of an ongoing effort to implement support for multiple processes. --- src/core/hle/kernel/client_port.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/core/hle/kernel/client_port.h (limited to 'src/core/hle/kernel/client_port.h') diff --git a/src/core/hle/kernel/client_port.h b/src/core/hle/kernel/client_port.h new file mode 100644 index 000000000..b3d15cfc5 --- /dev/null +++ b/src/core/hle/kernel/client_port.h @@ -0,0 +1,34 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include + +#include "common/common_types.h" + +#include "core/hle/kernel/kernel.h" + +namespace Kernel { + +class ClientPort : public Object { +public: + friend class ServerPort; + std::string GetTypeName() const override { return "ClientPort"; } + std::string GetName() const override { return name; } + + static const HandleType HANDLE_TYPE = HandleType::ClientPort; + HandleType GetHandleType() const override { return HANDLE_TYPE; } + + SharedPtr server_port; ///< ServerPort associated with this client port. + u32 max_sessions; ///< Maximum number of simultaneous sessions the port can have + u32 active_sessions; ///< Number of currently open sessions to this port + std::string name; ///< Name of client port (optional) + +protected: + ClientPort(); + ~ClientPort() override; +}; + +} // namespace -- cgit v1.2.3 From 7b445ddff0be3e0210cb217c74cb34a16799ce0d Mon Sep 17 00:00:00 2001 From: Subv Date: Sun, 22 May 2016 12:30:13 -0500 Subject: Kernel/SVC: Implemented svcCreatePort. --- src/core/hle/kernel/client_port.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core/hle/kernel/client_port.h') diff --git a/src/core/hle/kernel/client_port.h b/src/core/hle/kernel/client_port.h index b3d15cfc5..480b6ddae 100644 --- a/src/core/hle/kernel/client_port.h +++ b/src/core/hle/kernel/client_port.h @@ -12,6 +12,8 @@ namespace Kernel { +class ServerPort; + class ClientPort : public Object { public: friend class ServerPort; -- cgit v1.2.3