Line 353:
Line 353:
! ID (Development) !! ID (Production) !! Return !! Name !! Arguments
! ID (Development) !! ID (Production) !! Return !! Name !! Arguments
|-
|-
−
| 0x00 || 0x00 || IOSThreadId || IOS_CreateThread || u32 (*proc)(void* arg), void* arg, void* stack_top, u32 stacksize, u32 priority, u32 flags
+
| 0x00 || 0x00 || IOSThreadId || IOS_CreateThread || u32 (*entry)(void* arg), void* arg, void* stack, u32 stack_size, u32 priority, u32 attributes
|-
|-
−
| 0x01 || 0x01 || IOSError || JoinThread || IOSThreadId id, u32 *return_value
+
| 0x01 || 0x01 || IOSError || JoinThread || IOSThreadId id, u32 **return_value
|-
|-
−
| 0x02 || 0x02 || IOSError || DestroyThread || IOSThreadId id, u32 return_value
+
| 0x02 || 0x02 || IOSError || DestroyThread || IOSThreadId id, u32 *return_value
|-
|-
| 0x03 || 0x03 || IOSThreadId || GetThreadId ||
| 0x03 || 0x03 || IOSThreadId || GetThreadId ||
Line 445:
Line 445:
| 0x2D || 0x2D || IOSError || [[#AssociateResourceManager|AssociateResourceManager]] || const char* path, u32 id
| 0x2D || 0x2D || IOSError || [[#AssociateResourceManager|AssociateResourceManager]] || const char* path, u32 id
|-
|-
−
| 0x2E || 0x2E || IOSError || SetResourceManagerFlags || const char* path, u32 flags
+
| 0x2E || 0x2E || IOSError || SetResourceManagerMaxIoVectors || const char* path, u32 max_vectors
|-
|-
−
| 0x2F || 0x2F || IOSError || SetClientCapabilities || [[#IOSProcessId|IOSProcessId]] pid, u32 feature_id, u32 *masks
+
| 0x2F || 0x2F || IOSError || SetResourceClientCapabilities || [[#IOSProcessId|IOSProcessId]] pid, u32 feature_id, u32 *caps
|-
|-
−
| 0x30 || 0x30 || IOSError || ClearClientCapabilities || [[#IOSProcessId|IOSProcessId]] pid
+
| 0x30 || 0x30 || IOSError || ClearResourceClientCapabilities || [[#IOSProcessId|IOSProcessId]] pid
|-
|-
−
| 0x31 || 0x31 || IOSError || GetResourceClientCapabilityByFeatureId || [[#IOSProcessId|IOSProcessId]] pid, u32 feature_id, u32 *masks
+
| 0x31 || 0x31 || IOSError || GetResourceClientCapabilities || [[#IOSProcessId|IOSProcessId]] pid, u32 feature_id, u32 *caps
|-
|-
−
| 0x32 || 0x32 || IOSError || GetResourceManagersByFeatureId || u32 feature_id, u32 max_count, [[#IOSResourceManager|IOSResourceManager]] *out
+
| 0x32 || 0x32 || IOSError || GetResourceManagers || u32 feature_id, u32 max_count, [[#IOSResourceManager|IOSResourceManager]] *out
|-
|-
| 0x33 || 0x33 || [[#IOSFd|IOSFd]] || IOS_Open || const char* path, u32 flags
| 0x33 || 0x33 || [[#IOSFd|IOSFd]] || IOS_Open || const char* path, u32 flags
Line 465:
Line 465:
| 0x37 || 0x37 || s32 || IOS_Seek || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin
| 0x37 || 0x37 || s32 || IOS_Seek || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin
|-
|-
−
| 0x38 || 0x38 || IOSError || IOS_Ioctl || [[#IOSFd|IOSFd]] fd, s32 cmd, void *input_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len
+
| 0x38 || 0x38 || IOSError || IOS_Ioctl || [[#IOSFd|IOSFd]] fd, s32 cmd, void *input, u32 input_size, void *output, u32 output_size
|-
|-
−
| 0x39 || 0x39 || IOSError || IOS_Ioctlv || [[#IOSFd|IOSFd]] fd, s32 cmd, u32 vector_count_in, u32 vector_count_out, IOSIoVector *vector
+
| 0x39 || 0x39 || IOSError || IOS_Ioctlv || [[#IOSFd|IOSFd]] fd, s32 cmd, u32 read_count, u32 write_count, IOSIoVector *vector
|-
|-
| 0x3A || 0x3A || [[#IOSFd|IOSFd]] || IOS_OpenAsync || const char* path, u32 flags, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
| 0x3A || 0x3A || [[#IOSFd|IOSFd]] || IOS_OpenAsync || const char* path, u32 flags, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
Line 479:
Line 479:
| 0x3E || 0x3E || s32 || IOS_SeekAsync || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
| 0x3E || 0x3E || s32 || IOS_SeekAsync || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
|-
|-
−
| 0x3F || 0x3F || IOSError || IOS_IoctlAsync || [[#IOSFd|IOSFd]] fd, s32 cmd, void *input_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
+
| 0x3F || 0x3F || IOSError || IOS_IoctlAsync || [[#IOSFd|IOSFd]] fd, s32 cmd, void *input, u32 input_size, void *output, u32 output_size, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
|-
|-
−
| 0x40 || 0x40 || IOSError || IOS_IoctlvAsync || [[#IOSFd|IOSFd]] fd, s32 cmd, u32 vector_count_in, u32 vector_count_out, IOSIoVector *vector, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
+
| 0x40 || 0x40 || IOSError || IOS_IoctlvAsync || [[#IOSFd|IOSFd]] fd, s32 cmd, u32 read_count, u32 write_count, IOSIoVector *vector, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply
|-
|-
| 0x41 || 0x41 || IOSError || OpenAsyncAs || const char* path, u32 flags, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply, [[#IOSProcessId|IOSProcessId]] pid, IOSNodeId node_id
| 0x41 || 0x41 || IOSError || OpenAsyncAs || const char* path, u32 flags, [[#IOSMessageQueueId|IOSMessageQueueId]] mqid, IOSResourceRequest *reply, [[#IOSProcessId|IOSProcessId]] pid, IOSNodeId node_id
Line 505:
Line 505:
| 0x4B || 0x4B || IOSError || GetUidGid || [[#IOSProcessId|IOSProcessId]] pid, u32 *uid, u32 *gid
| 0x4B || 0x4B || IOSError || GetUidGid || [[#IOSProcessId|IOSProcessId]] pid, u32 *uid, u32 *gid
|-
|-
−
| 0x4C || 0x4C || IOSError || TryFlushMem || [[#MEM_WB_CLIENTS|MEM_WB_CLIENTS]] client
+
| 0x4C || 0x4C || IOSError || FlushMem || [[#MEM_WB_CLIENTS|MEM_WB_CLIENTS]] client
|-
|-
−
| 0x4D || 0x4D || IOSError || FlushMem || [[#MEM_WB_CLIENTS|MEM_WB_CLIENTS]] client
+
| 0x4D || 0x4D || IOSError || ForceFlushMem || [[#MEM_WB_CLIENTS|MEM_WB_CLIENTS]] client
|-
|-
| 0x4E || 0x4E || IOSError || IsMemDataPending || int client
| 0x4E || 0x4E || IOSError || IsMemDataPending || int client
Line 577:
Line 577:
| 0x6F || 0x65 || IOSError || GetThreadProfiles || u32 max_count, [[#IOSThreadProfile|IOSThreadProfile]] *out
| 0x6F || 0x65 || IOSError || GetThreadProfiles || u32 max_count, [[#IOSThreadProfile|IOSThreadProfile]] *out
|-
|-
−
| 0x70 || || IOSError || GetIobContext || u32 id, IOSIobContext *out_buf
+
| 0x70 || || IOSError || GetIobContext || u32 id, IOSIobContext *out
|-
|-
−
| 0x71 || || u32 || IOS_GetIobPoolsUtilization || u32 count, u32 *out_buf
+
| 0x71 || || u32 || IOS_GetIobPoolsUtilization || u32 max_count, IOSIobPoolsUtilization *out
|-
|-
| 0x72 || 0x66 || IOSError || IOS_GetMessageUtilization || [[#IOSMessageUtilization|IOSMessageUtilization]] *out
| 0x72 || 0x66 || IOSError || IOS_GetMessageUtilization || [[#IOSMessageUtilization|IOSMessageUtilization]] *out
Line 611:
Line 611:
| 0x80 || 0x74 || void || Reset ||
| 0x80 || 0x74 || void || Reset ||
|-
|-
−
| 0x81 || 0x75 || void || [[#SetPanicBehavior|SetPanicBehavior]] || u32 flag
+
| 0x81 || 0x75 || void || [[#SetResetOnPanic|SetResetOnPanic]] || u32 mode
|-
|-
| 0x82 || 0x76 || IOSError || SetSyslogBuffer || void *log_buf
| 0x82 || 0x76 || IOSError || SetSyslogBuffer || void *log_buf
Line 623:
Line 623:
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
|-
|-
−
| 0x87 || 0x7B || IOSError || GetResourceOpenHandles || u32 max_count, [[#IOSResourceOpenHandle|IOSResourceOpenHandle]] *out, IOSProcessId pid
+
| 0x87 || 0x7B || IOSError || GetOpenResourceHandles || u32 max_count, [[#IOSOpenResourceHandle|IOSOpenResourceHandle]] *out, IOSProcessId pid
|-
|-
| 0x88 || 0x7C || IOSError || SetMainTitleSdkVersion || u32 version
| 0x88 || 0x7C || IOSError || SetMainTitleSdkVersion || u32 version
Line 639:
Line 639:
| 0x8E || 0x82 || IOSError || GetViolatingResourceManagers || u32 max_count, [[#IOSResourceManager|IOSResourceManager]] *out
| 0x8E || 0x82 || IOSError || GetViolatingResourceManagers || u32 max_count, [[#IOSResourceManager|IOSResourceManager]] *out
|-
|-
−
| 0x8F || 0x83 || u32 || GetClientHandles || char *dev_node
+
| 0x8F || 0x83 || u32 || MakeResourceClientHandlesStale || char *path
|-
|-
−
| 0x90 || 0x84 || IOSError || DisableDeviceRegistration || bool disable
+
| 0x90 || 0x84 || IOSError || EnableResourceSecurity || bool enable
|-
|-
−
| 0x91 || 0x85 || IOSError || GetPendingResourceRequests || u32 max_count, [[#IOSPendingResourceRequest|IOSPendingResourceRequest]] *requests, IOSProcessId pid
+
| 0x91 || 0x85 || IOSError || GetPendingResourceRequests || u32 max_count, [[#IOSPendingResourceRequest|IOSPendingResourceRequest]] *out, IOSProcessId pid
|-
|-
| 0x92 || 0x86 || IOSError || [[#InitializeIOS|InitializeIOS]] ||
| 0x92 || 0x86 || IOSError || [[#InitializeIOS|InitializeIOS]] ||
Line 707:
Line 707:
Checks if the supplied flag is enabled in the LT_SYSCFG1 register copy on the IOSU heap.
Checks if the supplied flag is enabled in the LT_SYSCFG1 register copy on the IOSU heap.
−
=== SetPanicBehavior ===
+
=== SetResetOnPanic ===
−
Changes the system behavior on panic:
+
Changes the system behavior on panic.
−
flag is 0 -> crash on panic
−
flag is 1 -> reset on panic
−
flag is 2 -> reset EXI as well
=== LoadPpcKernel ===
=== LoadPpcKernel ===
Line 1,154:
Line 1,151:
| 0x3A || 0x2 || BusyCloseViolations
| 0x3A || 0x2 || BusyCloseViolations
|-
|-
−
| 0x3C || 0x2 ||
+
| 0x3C || 0x2 || MaxIoVectors
|-
|-
| 0x3E || 0x2 ||
| 0x3E || 0x2 ||
|}
|}
−
== IOSResourceDescriptor ==
+
== IOSResourceHandle ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,258:
Line 1,255:
| 0x18 || 0x4 || MaxOpenHandles
| 0x18 || 0x4 || MaxOpenHandles
|-
|-
−
| 0x1C || 0x10 * 96 || [[#IOSResourceDescriptor|Descriptors]]
+
| 0x1C || 0x10 * 96 || [[#IOSResourceHandle|Handles]]
|-
|-
| 0x61C || 0x4 || ActiveTxns
| 0x61C || 0x4 || ActiveTxns
Line 1,383:
Line 1,380:
|}
|}
−
== IOSResourceOpenHandle ==
+
== IOSOpenResourceHandle ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-