diff --git a/stratosphere/ro/source/ro_debug_monitor.cpp b/stratosphere/ro/source/ro_debug_monitor.cpp
new file mode 100644
index 000000000..fb26fa66b
--- /dev/null
+++ b/stratosphere/ro/source/ro_debug_monitor.cpp
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2018-2019 Atmosphère-NX
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include
+#include
+#include
+#include
+#include "ro_debug_monitor.hpp"
+
+Result DebugMonitorService::GetProcessModuleInfo(Out count, OutBuffer out_infos, u64 pid) {
+ /* TODO: Implement. */
+ return ResultKernelConnectionClosed;
+}
\ No newline at end of file
diff --git a/stratosphere/ro/source/ro_debug_monitor.hpp b/stratosphere/ro/source/ro_debug_monitor.hpp
new file mode 100644
index 000000000..d8273e2df
--- /dev/null
+++ b/stratosphere/ro/source/ro_debug_monitor.hpp
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2018-2019 Atmosphère-NX
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+#include
+#include
+
+enum DebugMonitorServiceCmd {
+ Dmnt_Cmd_GetProcessModuleInfo = 0
+};
+
+class DebugMonitorService final : public IServiceObject {
+ private:
+ /* Actual commands. */
+ Result GetProcessModuleInfo(Out count, OutBuffer out_infos, u64 pid);
+ public:
+ DEFINE_SERVICE_DISPATCH_TABLE {
+ MakeServiceCommandMeta(),
+ };
+};
diff --git a/stratosphere/ro/source/ro_main.cpp b/stratosphere/ro/source/ro_main.cpp
index 0844a1de3..4c7264ff0 100644
--- a/stratosphere/ro/source/ro_main.cpp
+++ b/stratosphere/ro/source/ro_main.cpp
@@ -23,6 +23,8 @@
#include
#include
+#include "ro_debug_monitor.hpp"
+
extern "C" {
extern u32 __start__;
@@ -104,12 +106,13 @@ void __appExit(void) {
int main(int argc, char **argv)
{
/* Static server manager. */
- static auto g_server_manager = WaitableManager(1);
+ static auto s_server_manager = WaitableManager(1);
/* TODO: Create services. */
+ s_server_manager.AddWaitable(new ServiceServer("ro:dmnt", 1));
/* Loop forever, servicing our services. */
- g_server_manager.Process();
+ s_server_manager.Process();
/* Cleanup */
return 0;