summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormailwl <mailwl@gmail.com>2016-12-22 09:06:27 +0100
committermailwl <mailwl@gmail.com>2016-12-22 20:51:27 +0100
commit069a88dad7d198933681d9504ab37c7d9b57c8dd (patch)
tree876176b37939e786257e802f193739ade73dbea2
parentMerge pull request #2366 from MerryMage/MemoryReadCode (diff)
downloadyuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar.gz
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar.bz2
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar.lz
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar.xz
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.tar.zst
yuzu-069a88dad7d198933681d9504ab37c7d9b57c8dd.zip
-rw-r--r--src/core/CMakeLists.txt18
-rw-r--r--src/core/hle/service/nwm/nwm.cpp28
-rw-r--r--src/core/hle/service/nwm/nwm.h14
-rw-r--r--src/core/hle/service/nwm/nwm_cec.cpp19
-rw-r--r--src/core/hle/service/nwm/nwm_cec.h22
-rw-r--r--src/core/hle/service/nwm/nwm_ext.cpp19
-rw-r--r--src/core/hle/service/nwm/nwm_ext.h22
-rw-r--r--src/core/hle/service/nwm/nwm_inf.cpp21
-rw-r--r--src/core/hle/service/nwm/nwm_inf.h22
-rw-r--r--src/core/hle/service/nwm/nwm_sap.cpp20
-rw-r--r--src/core/hle/service/nwm/nwm_sap.h22
-rw-r--r--src/core/hle/service/nwm/nwm_soc.cpp20
-rw-r--r--src/core/hle/service/nwm/nwm_soc.h22
-rw-r--r--src/core/hle/service/nwm/nwm_tst.cpp20
-rw-r--r--src/core/hle/service/nwm/nwm_tst.h22
-rw-r--r--src/core/hle/service/nwm/nwm_uds.cpp (renamed from src/core/hle/service/nwm_uds.cpp)11
-rw-r--r--src/core/hle/service/nwm/nwm_uds.h (renamed from src/core/hle/service/nwm_uds.h)0
-rw-r--r--src/core/hle/service/service.cpp5
18 files changed, 317 insertions, 10 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 5d74e4546..ccbe7a9ce 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -123,7 +123,14 @@ set(SRCS
hle/service/nim/nim_s.cpp
hle/service/nim/nim_u.cpp
hle/service/ns_s.cpp
- hle/service/nwm_uds.cpp
+ hle/service/nwm/nwm.cpp
+ hle/service/nwm/nwm_cec.cpp
+ hle/service/nwm/nwm_ext.cpp
+ hle/service/nwm/nwm_inf.cpp
+ hle/service/nwm/nwm_sap.cpp
+ hle/service/nwm/nwm_soc.cpp
+ hle/service/nwm/nwm_tst.cpp
+ hle/service/nwm/nwm_uds.cpp
hle/service/pm_app.cpp
hle/service/ptm/ptm.cpp
hle/service/ptm/ptm_gets.cpp
@@ -288,7 +295,14 @@ set(HEADERS
hle/service/nim/nim_s.h
hle/service/nim/nim_u.h
hle/service/ns_s.h
- hle/service/nwm_uds.h
+ hle/service/nwm/nwm.h
+ hle/service/nwm/nwm_cec.h
+ hle/service/nwm/nwm_ext.h
+ hle/service/nwm/nwm_inf.h
+ hle/service/nwm/nwm_sap.h
+ hle/service/nwm/nwm_soc.h
+ hle/service/nwm/nwm_tst.h
+ hle/service/nwm/nwm_uds.h
hle/service/pm_app.h
hle/service/ptm/ptm.h
hle/service/ptm/ptm_gets.h
diff --git a/src/core/hle/service/nwm/nwm.cpp b/src/core/hle/service/nwm/nwm.cpp
new file mode 100644
index 000000000..9f1994dc3
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm.cpp
@@ -0,0 +1,28 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm.h"
+#include "core/hle/service/nwm/nwm_cec.h"
+#include "core/hle/service/nwm/nwm_ext.h"
+#include "core/hle/service/nwm/nwm_inf.h"
+#include "core/hle/service/nwm/nwm_sap.h"
+#include "core/hle/service/nwm/nwm_soc.h"
+#include "core/hle/service/nwm/nwm_tst.h"
+#include "core/hle/service/nwm/nwm_uds.h"
+
+namespace Service {
+namespace NWM {
+
+void Init() {
+ AddService(new NWM_CEC);
+ AddService(new NWM_EXT);
+ AddService(new NWM_INF);
+ AddService(new NWM_SAP);
+ AddService(new NWM_SOC);
+ AddService(new NWM_TST);
+ AddService(new NWM_UDS);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm.h b/src/core/hle/service/nwm/nwm.h
new file mode 100644
index 000000000..6926b29a6
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm.h
@@ -0,0 +1,14 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+namespace Service {
+namespace NWM {
+
+/// Initialize all NWM services
+void Init();
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_cec.cpp b/src/core/hle/service/nwm/nwm_cec.cpp
new file mode 100644
index 000000000..7f03987df
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_cec.cpp
@@ -0,0 +1,19 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_cec.h"
+
+namespace Service {
+namespace NWM {
+
+const Interface::FunctionInfo FunctionTable[] = {
+ {0x000D0082, nullptr, "SendProbeRequest"},
+};
+
+NWM_CEC::NWM_CEC() {
+ Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_cec.h b/src/core/hle/service/nwm/nwm_cec.h
new file mode 100644
index 000000000..07b6addb5
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_cec.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_CEC final : public Interface {
+public:
+ NWM_CEC();
+
+ std::string GetPortName() const override {
+ return "nwm::CEC";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_ext.cpp b/src/core/hle/service/nwm/nwm_ext.cpp
new file mode 100644
index 000000000..605640a13
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_ext.cpp
@@ -0,0 +1,19 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_ext.h"
+
+namespace Service {
+namespace NWM {
+
+const Interface::FunctionInfo FunctionTable[] = {
+ {0x00080040, nullptr, "ControlWirelessEnabled"},
+};
+
+NWM_EXT::NWM_EXT() {
+ Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_ext.h b/src/core/hle/service/nwm/nwm_ext.h
new file mode 100644
index 000000000..51d39d9ea
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_ext.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_EXT final : public Interface {
+public:
+ NWM_EXT();
+
+ std::string GetPortName() const override {
+ return "nwm::EXT";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_inf.cpp b/src/core/hle/service/nwm/nwm_inf.cpp
new file mode 100644
index 000000000..c8470589b
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_inf.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_inf.h"
+
+namespace Service {
+namespace NWM {
+
+const Interface::FunctionInfo FunctionTable[] = {
+ {0x000603C4, nullptr, "RecvBeaconBroadcastData"},
+ {0x00070742, nullptr, "ConnectToEncryptedAP"},
+ {0x00080302, nullptr, "ConnectToAP"},
+};
+
+NWM_INF::NWM_INF() {
+ Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_inf.h b/src/core/hle/service/nwm/nwm_inf.h
new file mode 100644
index 000000000..0043d769c
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_inf.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_INF final : public Interface {
+public:
+ NWM_INF();
+
+ std::string GetPortName() const override {
+ return "nwm::INF";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_sap.cpp b/src/core/hle/service/nwm/nwm_sap.cpp
new file mode 100644
index 000000000..fd29ed761
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_sap.cpp
@@ -0,0 +1,20 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_sap.h"
+
+namespace Service {
+namespace NWM {
+
+/*
+const Interface::FunctionInfo FunctionTable[] = {
+};
+*/
+
+NWM_SAP::NWM_SAP() {
+ // Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_sap.h b/src/core/hle/service/nwm/nwm_sap.h
new file mode 100644
index 000000000..f692e06d4
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_sap.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_SAP final : public Interface {
+public:
+ NWM_SAP();
+
+ std::string GetPortName() const override {
+ return "nwm::SAP";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_soc.cpp b/src/core/hle/service/nwm/nwm_soc.cpp
new file mode 100644
index 000000000..fdffcb925
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_soc.cpp
@@ -0,0 +1,20 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_soc.h"
+
+namespace Service {
+namespace NWM {
+
+/*
+const Interface::FunctionInfo FunctionTable[] = {
+};
+*/
+
+NWM_SOC::NWM_SOC() {
+ // Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_soc.h b/src/core/hle/service/nwm/nwm_soc.h
new file mode 100644
index 000000000..594941d7e
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_soc.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_SOC final : public Interface {
+public:
+ NWM_SOC();
+
+ std::string GetPortName() const override {
+ return "nwm::SOC";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_tst.cpp b/src/core/hle/service/nwm/nwm_tst.cpp
new file mode 100644
index 000000000..5f292e5db
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_tst.cpp
@@ -0,0 +1,20 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/service/nwm/nwm_tst.h"
+
+namespace Service {
+namespace NWM {
+
+/*
+const Interface::FunctionInfo FunctionTable[] = {
+};
+*/
+
+NWM_TST::NWM_TST() {
+ // Register(FunctionTable);
+}
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm/nwm_tst.h b/src/core/hle/service/nwm/nwm_tst.h
new file mode 100644
index 000000000..8deca3216
--- /dev/null
+++ b/src/core/hle/service/nwm/nwm_tst.h
@@ -0,0 +1,22 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace NWM {
+
+class NWM_TST final : public Interface {
+public:
+ NWM_TST();
+
+ std::string GetPortName() const override {
+ return "nwm::TST";
+ }
+};
+
+} // namespace NWM
+} // namespace Service
diff --git a/src/core/hle/service/nwm_uds.cpp b/src/core/hle/service/nwm/nwm_uds.cpp
index e3160d4b4..08fade320 100644
--- a/src/core/hle/service/nwm_uds.cpp
+++ b/src/core/hle/service/nwm/nwm_uds.cpp
@@ -5,12 +5,12 @@
#include "common/common_types.h"
#include "common/logging/log.h"
#include "core/hle/kernel/event.h"
-#include "core/hle/service/nwm_uds.h"
+#include "core/hle/service/nwm/nwm_uds.h"
namespace Service {
namespace NWM {
-static Kernel::SharedPtr<Kernel::Event> handle_event;
+static Kernel::SharedPtr<Kernel::Event> uds_handle_event;
/**
* NWM_UDS::Shutdown service function
@@ -101,7 +101,7 @@ static void InitializeWithVersion(Interface* self) {
/*
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0;
- cmd_buff[3] = Kernel::g_handle_table.Create(handle_event)
+ cmd_buff[3] = Kernel::g_handle_table.Create(uds_handle_event)
.MoveFrom(); // TODO(purpasmart): Verify if this is a event handle
*/
cmd_buff[0] = IPC::MakeHeader(0x1B, 1, 2);
@@ -116,6 +116,7 @@ static void InitializeWithVersion(Interface* self) {
}
const Interface::FunctionInfo FunctionTable[] = {
+ {0x00010442, nullptr, "Initialize (deprecated)"},
{0x00020000, nullptr, "Scrap"},
{0x00030000, Shutdown, "Shutdown"},
{0x00040402, nullptr, "CreateNetwork (deprecated)"},
@@ -147,13 +148,13 @@ const Interface::FunctionInfo FunctionTable[] = {
};
NWM_UDS::NWM_UDS() {
- handle_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "NWM_UDS::handle_event");
+ uds_handle_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "NWM::uds_handle_event");
Register(FunctionTable);
}
NWM_UDS::~NWM_UDS() {
- handle_event = nullptr;
+ uds_handle_event = nullptr;
}
} // namespace NWM
diff --git a/src/core/hle/service/nwm_uds.h b/src/core/hle/service/nwm/nwm_uds.h
index 55db748f6..55db748f6 100644
--- a/src/core/hle/service/nwm_uds.h
+++ b/src/core/hle/service/nwm/nwm_uds.h
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 25a7aeea8..7e52a05d9 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -35,7 +35,7 @@
#include "core/hle/service/nfc/nfc.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/ns_s.h"
-#include "core/hle/service/nwm_uds.h"
+#include "core/hle/service/nwm/nwm.h"
#include "core/hle/service/pm_app.h"
#include "core/hle/service/ptm/ptm.h"
#include "core/hle/service/qtm/qtm.h"
@@ -154,6 +154,7 @@ void Init() {
NEWS::Init();
NFC::Init();
NIM::Init();
+ NWM::Init();
PTM::Init();
QTM::Init();
@@ -166,7 +167,6 @@ void Init() {
AddService(new LDR::LDR_RO);
AddService(new MIC::MIC_U);
AddService(new NS::NS_S);
- AddService(new NWM::NWM_UDS);
AddService(new PM::PM_APP);
AddService(new SOC::SOC_U);
AddService(new SSL::SSL_C);
@@ -177,7 +177,6 @@ void Init() {
/// Shutdown ServiceManager
void Shutdown() {
-
PTM::Shutdown();
NIM::Shutdown();
NEWS::Shutdown();