aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2014-12-08 23:52:27 -0500
committerSubv <subv2112@gmail.com>2014-12-31 10:51:44 -0500
commit97a7381d29b69dbe760598e70669c16573304ad4 (patch)
treef4e336af1e5cf5d72c2665470a96a9db73711ae7 /src/core/hle/svc.cpp
parent59bba04628772ad8995f38137dcfe8bbd05f949b (diff)
SOC_U: Preliminary implementation of sockets.
Stubbed CreateMemoryBlock Using Berkeley sockets, and Winsock2.2 on Windows. So far ftpony creates the socket and accepts incoming connections SOC_U: Renamed functions to maintain consistency Also prevents possible scope errors / conflicts with the actual Berkeley socket functions SOCU: Close all the opened sockets when cleaning up SOCU
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 25944fc68c..c25409a9fe 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -352,6 +352,18 @@ static s64 GetSystemTick() {
return (s64)Core::g_app_core->GetTicks();
}
+/// Creates a memory block at the specified address with the specified permissions and size
+static Result CreateMemoryBlock(Handle* memblock, u32 addr, u32 size, u32 my_permission,
+ u32 other_permission) {
+
+ // TODO(Subv): Implement this function
+
+ Handle shared_memory = Kernel::CreateSharedMemory();
+ *memblock = shared_memory;
+ LOG_WARNING(Kernel_SVC, "(STUBBED) called addr=0x%08X", addr);
+ return 0;
+}
+
const HLE::FunctionDef SVC_Table[] = {
{0x00, nullptr, "Unknown"},
{0x01, HLE::Wrap<ControlMemory>, "ControlMemory"},
@@ -383,7 +395,7 @@ const HLE::FunctionDef SVC_Table[] = {
{0x1B, nullptr, "SetTimer"},
{0x1C, nullptr, "CancelTimer"},
{0x1D, nullptr, "ClearTimer"},
- {0x1E, nullptr, "CreateMemoryBlock"},
+ {0x1E, HLE::Wrap<CreateMemoryBlock>, "CreateMemoryBlock"},
{0x1F, HLE::Wrap<MapMemoryBlock>, "MapMemoryBlock"},
{0x20, nullptr, "UnmapMemoryBlock"},
{0x21, HLE::Wrap<CreateAddressArbiter>, "CreateAddressArbiter"},