Line 377:
Line 377:
| 0x0B || 0x0B || IOSError || IOS_SetThreadPriority || IOSThreadId id, u32 priority
| 0x0B || 0x0B || IOSError || IOS_SetThreadPriority || IOSThreadId id, u32 priority
|-
|-
−
| 0x0C || 0x0C || IOSMessageQueueId || IOS_CreateMessageQueue || IOSMessage *ptr, u32 count
+
| 0x0C || 0x0C || [[#IOSMessageQueueId|IOSMessageQueueId]] || IOS_CreateMessageQueue || [[#IOSMessage|IOSMessage]] *ptr, u32 count
|-
|-
−
| 0x0D || 0x0D || IOSError || IOS_DestroyMessageQueue || IOSMessageQueueId id
+
| 0x0D || 0x0D || IOSError || IOS_DestroyMessageQueue || [[#IOSMessageQueueId|IOSMessageQueueId]] id
|-
|-
−
| 0x0E || 0x0E || IOSError || IOS_SendMessage || IOSMessageQueueId id, IOSMessage message, u32 flags
+
| 0x0E || 0x0E || IOSError || IOS_SendMessage || [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] message, u32 flags
|-
|-
−
| 0x0F || 0x0F || IOSError || IOS_JamMessage || IOSMessageQueueId id, IOSMessage message, u32 flags
+
| 0x0F || 0x0F || IOSError || IOS_JamMessage || [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] message, u32 flags
|-
|-
−
| 0x10 || 0x10 || IOSError || IOS_ReceiveMessage || IOSMessageQueueId id, IOSMessage *message, u32 flags
+
| 0x10 || 0x10 || IOSError || IOS_ReceiveMessage || [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] *message, u32 flags
|-
|-
−
| 0x11 || 0x11 || IOSError || IOS_HandleEvent || IOSEvent event, IOSMessageQueueId id, IOSMessage message
+
| 0x11 || 0x11 || IOSError || IOS_HandleEvent || [[#IOSEvent|IOSEvent]] event, [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] message
|-
|-
−
| 0x12 || 0x12 || IOSError || UnhandleEvent || IOSEvent event
+
| 0x12 || 0x12 || IOSError || UnhandleEvent || [[#IOSEvent|IOSEvent]] event
|-
|-
−
| 0x13 || 0x13 || IOSTimerId || IOS_CreateTimer || IOSTime time, IOSTime interval, IOSMessageQueueId id, IOSMessage message
+
| 0x13 || 0x13 || IOSTimerId || IOS_CreateTimer || IOSTime time, IOSTime interval, [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] message
|-
|-
| 0x14 || 0x14 || IOSError || IOS_RestartTimer || IOSTimerId id, IOSTime time, IOSTime interval
| 0x14 || 0x14 || IOSError || IOS_RestartTimer || IOSTimerId id, IOSTime time, IOSTime interval
Line 441:
Line 441:
| 0x2B || 0x2B || IOSError || ReAlloc || IOSHeapId id, void *ptr, u32 size
| 0x2B || 0x2B || IOSError || ReAlloc || IOSHeapId id, void *ptr, u32 size
|-
|-
−
| 0x2C || 0x2C || IOSError || IOS_RegisterResourceManager || const char* path, IOSMessageQueueId id
+
| 0x2C || 0x2C || IOSError || IOS_RegisterResourceManager || const char* path, [[#IOSMessageQueueId|IOSMessageQueueId]] id
|-
|-
| 0x2D || 0x2D || IOSError || [[#SetResourceManagerPermissionGroup|SetResourceManagerPermissionGroup]] || const char* path, u32 id
| 0x2D || 0x2D || IOSError || [[#SetResourceManagerPermissionGroup|SetResourceManagerPermissionGroup]] || const char* path, u32 id
Line 455:
Line 455:
| 0x32 || 0x32 || IOSError || QueryFeatureId || u32 feature_id, int out_count, void *out_buffer
| 0x32 || 0x32 || IOSError || QueryFeatureId || u32 feature_id, int out_count, void *out_buffer
|-
|-
−
| 0x33 || 0x33 || IOSFd || IOS_Open || const char* path, u32 flags
+
| 0x33 || 0x33 || [[#IOSFd|IOSFd]] || IOS_Open || const char* path, u32 flags
|-
|-
−
| 0x34 || 0x34 || IOSError || IOS_Close || IOSFd fd
+
| 0x34 || 0x34 || IOSError || IOS_Close || [[#IOSFd|IOSFd]] fd
|-
|-
−
| 0x35 || 0x35 || s32 || IOS_Read || IOSFd fd, void *buf, u32 len
+
| 0x35 || 0x35 || s32 || IOS_Read || [[#IOSFd|IOSFd]] fd, void *buf, u32 len
|-
|-
−
| 0x36 || 0x36 || s32 || IOS_Write || IOSFd fd, void *buf, u32 len
+
| 0x36 || 0x36 || s32 || IOS_Write || [[#IOSFd|IOSFd]] fd, void *buf, u32 len
|-
|-
−
| 0x37 || 0x37 || s32 || IOS_Seek || IOSFd fd, s32 offset, u32 origin
+
| 0x37 || 0x37 || s32 || IOS_Seek || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin
|-
|-
−
| 0x38 || 0x38 || IOSError || IOS_Ioctl || 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_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len
|-
|-
−
| 0x39 || 0x39 || IOSError || IOS_Ioctlv || 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 vector_count_in, u32 vector_count_out, IOSIoVector *vector
|-
|-
−
| 0x3A || 0x3A || IOSFd || IOS_OpenAsync || const char* path, u32 flags, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x3A || 0x3A || [[#IOSFd|IOSFd]] || IOS_OpenAsync || const char* path, u32 flags, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
−
| 0x3B || 0x3B || IOSError || IOS_CloseAsync || IOSFd fd, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x3B || 0x3B || IOSError || IOS_CloseAsync || [[#IOSFd|IOSFd]] fd, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
−
| 0x3C || 0x3C || s32 || IOS_ReadAsync || IOSFd fd, void *buf, u32 len, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x3C || 0x3C || s32 || IOS_ReadAsync || [[#IOSFd|IOSFd]] fd, void *buf, u32 len, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
−
| 0x3D || 0x3D || s32 || IOS_WriteAsync || IOSFd fd, void *buf, u32 len, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x3D || 0x3D || s32 || IOS_WriteAsync || [[#IOSFd|IOSFd]] fd, void *buf, u32 len, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
−
| 0x3E || 0x3E || s32 || IOS_SeekAsync || IOSFd fd, s32 offset, u32 origin, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x3E || 0x3E || s32 || IOS_SeekAsync || [[#IOSFd|IOSFd]] fd, s32 offset, u32 origin, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
−
| 0x3F || 0x3F || IOSError || IOS_IoctlAsync || IOSFd fd, s32 cmd, void *input_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len, IOSMessageQueueId id, 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]] id, IOSResourceRequest *reply
|-
|-
−
| 0x40 || 0x40 || IOSError || IOS_IoctlvAsync || IOSFd fd, s32 cmd, u32 vector_count_in, u32 vector_count_out, IOSIoVector *vector, IOSMessageQueueId id, IOSResourceRequest *reply
+
| 0x40 || 0x40 || IOSError || IOS_IoctlvAsync || [[#IOSFd|IOSFd]] fd, s32 cmd, u32 vector_count_in, u32 vector_count_out, IOSIoVector *vector, [[#IOSMessageQueueId|IOSMessageQueueId]] id, IOSResourceRequest *reply
|-
|-
| 0x41 || 0x41 || IOSError || OpenAsAsync ||
| 0x41 || 0x41 || IOSError || OpenAsAsync ||
Line 581:
Line 581:
| 0x71 || || u32 || IOS_GetIobPoolsUtilization || u32 count, u32 *out_buf
| 0x71 || || u32 || IOS_GetIobPoolsUtilization || u32 count, u32 *out_buf
|-
|-
−
| 0x72 || 0x66 || IOSError || IOS_GetMessageUtilization ||
+
| 0x72 || 0x66 || IOSError || IOS_GetMessageUtilization || [[#IOSMessageUtilization|IOSMessageUtilization]] *out
|-
|-
−
| 0x73 || 0x67 || IOSError || GetAggregateResourceUtilization ||
+
| 0x73 || 0x67 || IOSError || GetResourceAggregateUtilization || [[#IOSResourceAggregateUtilization|IOSResourceAggregateUtilization]]* out, bool clear
|-
|-
−
| 0x74 || 0x68 || IOSError || GetPerProcessResourceUtilization ||
+
| 0x74 || 0x68 || IOSError || GetResourcePerProcessUtilization || [[#IOSResourcePerProcessUtilization|IOSResourcePerProcessUtilization]]* out, IOSProcessId id, bool clear
|-
|-
| 0x75 || 0x69 || IOSError || IOS_GetTimerUtilization ||
| 0x75 || 0x69 || IOSError || IOS_GetTimerUtilization ||
Line 623:
Line 623:
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
|-
|-
−
| 0x87 || 0x7B || IOSError || GetOpenResourceHandles || u32 out_count, void *out_buffer, IOSProcessId id
+
| 0x87 || 0x7B || IOSError || GetOpenResourceHandles || u32 out_count, [[#IOSOpenResourceHandle|IOSOpenResourceHandle]] *out, IOSProcessId id
|-
|-
| 0x88 || 0x7C || IOSError || SetMainTitleSdkVersion || u32 version
| 0x88 || 0x7C || IOSError || SetMainTitleSdkVersion || u32 version
Line 631:
Line 631:
| 0x8A || 0x7E || IOSError || GetDynamicHeapAccess ||
| 0x8A || 0x7E || IOSError || GetDynamicHeapAccess ||
|-
|-
−
| 0x8B || 0x7F || IOSError || HandleDebugInterrupt || const char *dbg_sts, u32 dbg_sts_size, IOSMessageQueueId id, IOSMessage message
+
| 0x8B || 0x7F || IOSError || HandleDebugInterrupt || const char *dbg_sts, u32 dbg_sts_size, [[#IOSMessageQueueId|IOSMessageQueueId]] id, [[#IOSMessage|IOSMessage]] message
|-
|-
−
| 0x8C || 0x80 || IOSError || UnhandleDebugInterrupt || IOSMessageQueueId id, bool panic
+
| 0x8C || 0x80 || IOSError || UnhandleDebugInterrupt || [[#IOSMessageQueueId|IOSMessageQueueId]] id, bool panic
|-
|-
| 0x8D || 0x81 || IOSError || ||
| 0x8D || 0x81 || IOSError || ||
Line 816:
Line 816:
| 0x14 || 0x4 || Cached
| 0x14 || 0x4 || Cached
|}
|}
−
== IOSContext ==
== IOSContext ==
Line 1,058:
Line 1,057:
| 111
| 111
|
|
+
|}
+
+
== IOSMessage ==
+
This is a s32.
+
+
== IOSMessageQueueId ==
+
This is an u32.
+
+
== IOSMessageQueue ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || [[#IOSThread|EmptyQueue]]
+
|-
+
| 0x4 || 0x4 || [[#IOSThread|FullQueue]]
+
|-
+
| 0x8 || 0x4 || Count
+
|-
+
| 0xC || 0x4 || Rptr
+
|-
+
| 0x10 || 0x4 || Size
+
|-
+
| 0x14 || 0x4 || [[#IOSMessage|Buffer]]
+
|-
+
| 0x18 || 0x4 || Id
+
|-
+
| 0x1C || 0x1 || Owner
+
|-
+
| 0x1D || 0x1 || HasEvent
+
|-
+
| 0x1E || 0x2 ||
+
|}
+
+
== IOSMessageUtilization ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || MaxCount
+
|-
+
| 0x4 || 0x4 || AllocatedCount
+
|-
+
| 0x8 || 0x4 || MaxAllocatedCount
+
|-
+
| 0xC || 0x2 * 14 || PerPidUtilization
+
|}
+
+
== IOSEvent ==
+
This is an u32.
+
+
== IOSEventState ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || [[#IOSMessageQueue|MessageQueue]]
+
|-
+
| 0x4 || 0x4 || [[#IOSMessage|Message]]
+
|-
+
| 0x8 || 0x4 || Owner
+
|-
+
| 0xC || 0x4 ||
+
|}
+
+
== IOSFd ==
+
This is an u32.
+
+
== IOSResourceManager ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 ||
+
|-
+
| 0x4 || 0x4 ||
+
|-
+
| 0x8 || 0x4 ||
+
|-
+
| 0xC || 0x4 || Owner
+
|-
+
| 0x10 || 0x4 || OpenHandles
+
|-
+
| 0x14 || 0x4 || OpenHandlesWaterline
+
|-
+
| 0x18 || 0x4 || MaxOpenHandles
+
|-
+
| 0x1C || 0x10 * 96 || [[#IOSResourceHandle|OpenHandles]]
+
|-
+
| 0x61C || 0x4 || ActiveTxns
+
|-
+
| 0x620 || 0x4 || ActiveTxnWaterline
+
|-
+
| 0x624 || 0x4 || TotalTxnAllocFailures
+
|-
+
| 0x628 || 0x4 || MaxActiveTxns
+
|-
+
| 0x62C || 0xC * 20 ||
+
|-
+
| 0x71C || 0x4 || RegisteredResources
+
|-
+
| 0x720 || 0x4 || MaxRegisteredResources
+
|-
+
| 0x724 || 0x4 || InvalidResourceReplies
+
|}
+
+
== IOSActiveResourceManager ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x2 || ActiveResources
+
|-
+
| 0x2 || 0x2 || ActiveResourcesWaterline
+
|-
+
| 0x4 || 0x2 ||
+
|-
+
| 0x6 || 0x2 ||
+
|-
+
| 0x8 || 0x2 ||
+
|-
+
| 0xA || 0x2 || MaxResources
+
|-
+
| 0xC || 0x40 * 96 || [[#IOSResource|Resources]]
+
|}
+
+
== IOSActiveResourceTransactionManager ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x2 || TotalActiveTxns
+
|-
+
| 0x2 || 0x2 || TotalActiveTxnsWaterline
+
|-
+
| 0x4 || 0x2 || TotalTxnAllocFailures
+
|-
+
| 0x6 || 0x2 ||
+
|-
+
| 0x8 || 0x2 ||
+
|-
+
| 0xA || 0x2 || MaxTotalActiveTxns
+
|-
+
| 0xC || 0xB4 * 256 || [[#IOSResourceTransaction|Txns]]
+
|}
+
+
== IOSResourceHandle ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || ServerHandle
+
|-
+
| 0x4 || 0x4 || ClientFd
+
|-
+
| 0x8 || 0x4 || State
+
|-
+
| 0xC || 0x1 ||
+
|-
+
| 0xD || 0x3 ||
+
|}
+
+
== IOSResource ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x20 || Path
+
|-
+
| 0x20 || 0x4 || [[#IOSMessageQueueId|MqId]]
+
|-
+
| 0x24 || 0x4 || [[#IOSResourceManager|ResourceManager]]
+
|-
+
| 0x28 || 0x4 || Owner
+
|-
+
| 0x2C || 0x2 || PathLen
+
|-
+
| 0x2E || 0x2 ||
+
|-
+
| 0x30 || 0x2 ||
+
|-
+
| 0x32 || 0x2 ||
+
|-
+
| 0x34 || 0x2 ||
+
|-
+
| 0x36 || 0x2 ||
+
|-
+
| 0x38 || 0x2 ||
+
|-
+
| 0x3A || 0x2 ||
+
|-
+
| 0x3C || 0x2 ||
+
|-
+
| 0x3E || 0x2 ||
+
|}
+
+
== IOSResourceRequest ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || Cmd
+
|-
+
| 0x4 || 0x4 || Handle
+
|-
+
| 0x8 || 0x14 || Args
+
|-
+
| 0x1C || 0x1C ||
+
|}
+
+
== IOSResourceTransaction ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0xB4 ||
+
|}
+
+
== IOSResourceAggregateUtilization ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || ActiveResources
+
|-
+
| 0x4 || 0x4 || ActiveResourcesWaterline
+
|-
+
| 0x8 || 0x4 || MaxResources
+
|-
+
| 0xC || 0x4 || TotalActiveTxns
+
|-
+
| 0x10 || 0x4 || TotalActiveTxnsWaterline
+
|-
+
| 0x14 || 0x4 || TotalTxnAllocFailures
+
|-
+
| 0x18 || 0x4 || MaxTotalActiveTxns
+
|}
+
+
== IOSResourcePerProcessUtilization ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || Owner
+
|-
+
| 0x4 || 0x4 || OpenHandles
+
|-
+
| 0x8 || 0x4 || OpenHandlesWaterline
+
|-
+
| 0xC || 0x4 || MaxOpenHandles
+
|-
+
| 0x10 || 0x4 || ActiveTxns
+
|-
+
| 0x14 || 0x4 || ActiveTxnWaterline
+
|-
+
| 0x18 || 0x4 || TotalTxnAllocFailures
+
|-
+
| 0x1C || 0x4 || MaxActiveTxns
+
|-
+
| 0x20 || 0x4 || RegisteredResources
+
|-
+
| 0x24 || 0x4 || MaxRegisteredResources
+
|-
+
| 0x28 || 0x4 || InvalidResourceReplies
+
|}
+
+
== IOSResourceViolation ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x20 || Path
+
|-
+
| 0x20 || 0x4 || Owner
+
|-
+
| 0x24 || 0x4 || RmOwner
+
|-
+
| 0x28 || 0x4 ||
+
|-
+
| 0x2C || 0x4 ||
+
|-
+
| 0x30 || 0x4 ||
+
|}
+
+
== IOSOpenResourceHandle ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || Pid
+
|-
+
| 0x4 || 0x4 || ClientFd
+
|-
+
| 0x8 || 0x4 || ServerHandle
+
|-
+
| 0xC || 0x20 || State
+
|}
+
+
== IOSPendingResourceRequest ==
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x0 || 0x4 || ClientReplyAddress
+
|-
+
| 0x4 || 0x4 || Owner
+
|-
+
| 0x8 || 0x4 || Host
+
|-
+
| 0xC || 0x4 || ClientFd
+
|-
+
| 0x10 || 0x4 || Cmd
+
|-
+
| 0x14 || 0x4 ||
+
|-
+
| 0x18 || 0x4 || ServerHandle
+
|-
+
| 0x1C || 0x4 || Flags
+
|-
+
| 0x20 || 0x4 || ClientNodeId
+
|-
+
| 0x24 || 0x4 || ClientPid
+
|-
+
| 0x28 || 0x4 ||
+
|-
+
| 0x2C || 0x4 ||
+
|-
+
| 0x30 || 0x4 || ClientGroupId
+
|-
+
| 0x34 || 0x14 || Args
+
|-
+
| 0x48 || 0x20 || Path
|}
|}
Line 1,242:
Line 1,573:
| 30
| 30
| Prod
| Prod
−
|}
−
−
== IOSResourceViolation ==
−
{| class="wikitable" border="1"
−
|-
−
! Offset || Size || Description
−
|-
−
| 0x0 || 0x20 || Path
−
|-
−
| 0x20 || 0x14 ||
−
|}
−
−
== IOSPendingResourceRequest ==
−
{| class="wikitable" border="1"
−
|-
−
! Offset || Size || Description
−
|-
−
| 0x0 || 0x4 || ClientReplyAddress
−
|-
−
| 0x4 || 0x4 ||
−
|-
−
| 0x8 || 0x4 || Pid
−
|-
−
| 0xC || 0x4 || ClientFd
−
|-
−
| 0x10 || 0x4 || Cmd
−
|-
−
| 0x14 || 0x4 ||
−
|-
−
| 0x18 || 0x4 || ServerHandle
−
|-
−
| 0x1C || 0x4 || Flags
−
|-
−
| 0x20 || 0x4 || ClientNodeId
−
|-
−
| 0x24 || 0x4 || ClientPid
−
|-
−
| 0x28 || 0x4 ||
−
|-
−
| 0x2C || 0x4 ||
−
|-
−
| 0x30 || 0x4 || ClientGroupId
−
|-
−
| 0x34 || 0x14 || CmdData
−
|-
−
| 0x48 || 0x20 || Path
|}
|}