mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-11-29 23:32:23 +00:00
dmnt: Implement three more easy commands
This commit is contained in:
parent
8a92a63a64
commit
eb6ab2ba62
2 changed files with 25 additions and 4 deletions
|
@ -32,3 +32,21 @@ Result DebugMonitorService::CloseHandle(Handle debug_hnd) {
|
||||||
/* This command is, entertainingly, also pretty unsafe in general... */
|
/* This command is, entertainingly, also pretty unsafe in general... */
|
||||||
return svcCloseHandle(debug_hnd);
|
return svcCloseHandle(debug_hnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result DebugMonitorService::GetProcessId(Out<u64> out_pid, Handle hnd) {
|
||||||
|
/* Nintendo discards the output of this command, but we will return it. */
|
||||||
|
return svcGetProcessId(out_pid.GetPointer(), hnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
Result DebugMonitorService::GetProcessHandle(Out<Handle> out_hnd, u64 pid) {
|
||||||
|
Result rc = svcDebugActiveProcess(out_hnd.GetPointer(), pid);
|
||||||
|
if (rc == 0xF401) {
|
||||||
|
rc = 0x4B7;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
Result DebugMonitorService::WaitSynchronization(Handle hnd, u64 ns) {
|
||||||
|
/* Nintendo discards the output of this command, but we will return it. */
|
||||||
|
return svcWaitSynchronizationSingle(hnd, ns);
|
||||||
|
}
|
||||||
|
|
|
@ -78,16 +78,19 @@ class DebugMonitorService final : public IServiceObject {
|
||||||
Result BreakDebugProcess(Handle debug_hnd);
|
Result BreakDebugProcess(Handle debug_hnd);
|
||||||
Result TerminateDebugProcess(Handle debug_hnd);
|
Result TerminateDebugProcess(Handle debug_hnd);
|
||||||
Result CloseHandle(Handle debug_hnd);
|
Result CloseHandle(Handle debug_hnd);
|
||||||
|
Result GetProcessId(Out<u64> out_pid, Handle hnd);
|
||||||
|
Result GetProcessHandle(Out<Handle> out_hnd, u64 pid);
|
||||||
|
Result WaitSynchronization(Handle hnd, u64 ns);
|
||||||
public:
|
public:
|
||||||
DEFINE_SERVICE_DISPATCH_TABLE {
|
DEFINE_SERVICE_DISPATCH_TABLE {
|
||||||
MakeServiceCommandMeta<DebugMonitor_Cmd_BreakDebugProcess, &DebugMonitorService::BreakDebugProcess>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_BreakDebugProcess, &DebugMonitorService::BreakDebugProcess>(),
|
||||||
MakeServiceCommandMeta<DebugMonitor_Cmd_TerminateDebugProcess, &DebugMonitorService::TerminateDebugProcess>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_TerminateDebugProcess, &DebugMonitorService::TerminateDebugProcess>(),
|
||||||
MakeServiceCommandMeta<DebugMonitor_Cmd_CloseHandle, &DebugMonitorService::CloseHandle>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_CloseHandle, &DebugMonitorService::CloseHandle>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_LoadImage, &DebugMonitorService::LoadImage>(),
|
// MakeServiceCommandMeta<DebugMonitor_Cmd_LoadImage, &DebugMonitorService::LoadImage>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessId, &DebugMonitorService::GetProcessId>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessId, &DebugMonitorService::GetProcessId>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessHandle, &DebugMonitorService::GetProcessHandle>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessHandle, &DebugMonitorService::GetProcessHandle>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_WaitSynchronization, &DebugMonitorService::WaitSynchronization>(),
|
MakeServiceCommandMeta<DebugMonitor_Cmd_WaitSynchronization, &DebugMonitorService::WaitSynchronization>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetDebugEvent, &DebugMonitorService::GetDebugEvent>(),
|
//MakeServiceCommandMeta<DebugMonitor_Cmd_GetDebugEvent, &DebugMonitorService::GetDebugEvent>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessModuleInfo, &DebugMonitorService::GetProcessModuleInfo>(),
|
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessModuleInfo, &DebugMonitorService::GetProcessModuleInfo>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessList, &DebugMonitorService::GetProcessList>(),
|
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetProcessList, &DebugMonitorService::GetProcessList>(),
|
||||||
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetThreadList, &DebugMonitorService::GetThreadList>(),
|
// MakeServiceCommandMeta<DebugMonitor_Cmd_GetThreadList, &DebugMonitorService::GetThreadList>(),
|
||||||
|
|
Loading…
Reference in a new issue