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 ++ src/core/hle/kernel/kernel.h | 3 ++- src/core/hle/kernel/server_port.cpp | 3 +++ src/core/hle/kernel/server_port.h | 5 ++++- 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/core/hle/kernel') 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; diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index a53d408d4..27ba3f912 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -35,7 +35,7 @@ enum KernelHandle : Handle { enum class HandleType : u32 { Unknown = 0, - ServerPort = 1, + Session = 2, Event = 3, Mutex = 4, @@ -49,6 +49,7 @@ enum class HandleType : u32 { ResourceLimit = 12, CodeSet = 13, ClientPort = 14, + ServerPort = 15, }; enum { diff --git a/src/core/hle/kernel/server_port.cpp b/src/core/hle/kernel/server_port.cpp index ca41265ff..fcc684a20 100644 --- a/src/core/hle/kernel/server_port.cpp +++ b/src/core/hle/kernel/server_port.cpp @@ -2,8 +2,11 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include + #include "common/assert.h" +#include "core/hle/kernel/client_port.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/server_port.h" #include "core/hle/kernel/thread.h" diff --git a/src/core/hle/kernel/server_port.h b/src/core/hle/kernel/server_port.h index e41ef8ce4..e9c972ce6 100644 --- a/src/core/hle/kernel/server_port.h +++ b/src/core/hle/kernel/server_port.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include "common/common_types.h" @@ -12,10 +13,12 @@ namespace Kernel { +class ClientPort; + class ServerPort final : public WaitObject { public: /** - * Creates a pair of a ServerPort and an associated ClientPort. + * Creates a pair of ServerPort and an associated ClientPort. * @param max_sessions Maximum number of sessions to the port * @param name Optional name of the ports * @return The created port tuple -- cgit v1.2.3