kern: SvcGetThreadList

This commit is contained in:
Michael Scire 2020-07-30 16:52:11 -07:00 committed by SciresM
parent 51084c0837
commit 96c3dfee14
6 changed files with 100 additions and 20 deletions

View file

@ -38,6 +38,8 @@ namespace ams::kern {
void Initialize();
Result Attach(KProcess *process);
KScopedAutoObject<KProcess> GetProcess();
Result QueryMemoryInfo(ams::svc::MemoryInfo *out_memory_info, ams::svc::PageInfo *out_page_info, KProcessAddress address);
Result ReadMemory(KProcessAddress buffer, KProcessAddress address, size_t size);
Result WriteMemory(KProcessAddress buffer, KProcessAddress address, size_t size);
@ -49,8 +51,6 @@ namespace ams::kern {
/* TODO: This is a placeholder definition. */
private:
KScopedAutoObject<KProcess> GetProcess();
void PushDebugEvent(ams::svc::DebugEvent event, uintptr_t param0 = 0, uintptr_t param1 = 0, uintptr_t param2 = 0, uintptr_t param3 = 0, uintptr_t param4 = 0);
void EnqueueDebugEventInfo(KEventInfo *info);
public:

View file

@ -324,6 +324,8 @@ namespace ams::kern {
return this->address_arbiter.WaitForAddress(address, arb_type, value, timeout);
}
Result GetThreadList(s32 *out_num_threads, ams::kern::svc::KUserPointer<u64 *> out_thread_ids, s32 max_out_count);
static KProcess *GetProcessFromId(u64 process_id);
static Result GetProcessList(s32 *out_num_processes, ams::kern::svc::KUserPointer<u64 *> out_process_ids, s32 max_out_count);

View file

@ -515,6 +515,8 @@ namespace ams::kern {
return ConditionVariableThreadTreeTraits::IsValid();
}
static Result GetThreadList(s32 *out_num_threads, ams::kern::svc::KUserPointer<u64 *> out_thread_ids, s32 max_out_count);
using ConditionVariableThreadTreeType = ConditionVariableThreadTree;
};
static_assert(alignof(KThread) == 0x10);