SVC: Difference between revisions
We were lied to. Based on 5.0.0 info. |
Add detailed information about svcGetProcessList. |
||
Line 241: | Line 241: | ||
|| W0=result | || W0=result | ||
|- | |- | ||
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out | | 0x65 || [[#svcGetProcessList]] || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out | ||
|- | |- | ||
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out | | 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out | ||
Line 1,508: | Line 1,508: | ||
'''0xf401:''' Process has debug events queued or is already running. | '''0xf401:''' Process has debug events queued or is already running. | ||
== svcGetProcessList == | |||
<div style="display: inline-block;"> | |||
{| class="wikitable" border="1" | |||
|- | |||
! Argument64 || Argument32 || Type || Name | |||
|- | |||
| (In) X1 || R1 || u64* || PidBuffer | |||
|- | |||
| (In) X2 || R2 || size_t || PidBufferSize | |||
|- | |||
| (Out) X0 || R0 || [[#Result]] || Ret | |||
|- | |||
| (Out) X1 || R1 || size_t || NumProcesses | |||
|} | |||
</div> | |||
'''Description:''' Fills the provided array with the pids of currently living processes. A process "lives" so long as it is currently running or a handle to it still exists. | |||
It returns the total number of processes currently alive. If this number is bigger than the size of PidBuffer, the user won't have all the pids. | |||
=== Result codes === | |||
'''0x0:''' Success. | |||
'''0xd401:''' The provided buffer is outside the process address space. | |||
'''0xe601:''' copyToUser failed. The provided buffer is not user-accessible. | |||
'''0xee01:''' The provided buffer size is too big. Max value is 0xFFFFFFF. | |||
== svcGetSystemInfo == | == svcGetSystemInfo == |