Changes

921 bytes added ,  16:22, 30 October 2019
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 ==
151

edits