Changes

no edit summary
Line 453: Line 453:  
| 0x31 || 0x31 || IOSError || GetResourceClientCapabilityByFeatureId || IOSProcessId id, u32 feature_id, u32 *masks
 
| 0x31 || 0x31 || IOSError || GetResourceClientCapabilityByFeatureId || IOSProcessId id, u32 feature_id, u32 *masks
 
|-
 
|-
| 0x32 || 0x32 || IOSError || GetResourceManagersByFeatureId || u32 feature_id, u32 max_count, [[#IOSResourceManagerInfo|IOSResourceManagerInfo]] *out
+
| 0x32 || 0x32 || IOSError || GetResourceManagersByFeatureId || 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 501: Line 501:  
| 0x49 || 0x49 || IOSError || IOS_ResourceReply || IOSResourceRequest *reply, IOSError result
 
| 0x49 || 0x49 || IOSError || IOS_ResourceReply || IOSResourceRequest *reply, IOSError result
 
|-
 
|-
| 0x4A || 0x4A || IOSError || SetUidGid || IOSProcessId id, u32 uid, u32 gid, u32 unk
+
| 0x4A || 0x4A || IOSError || SetUidGid || IOSProcessId id, u32 uid_high, u32 uid_low, u32 gid
 
|-
 
|-
 
| 0x4B || 0x4B || IOSError || GetUidGid || IOSProcessId id, u32 *uid, u32 *gid
 
| 0x4B || 0x4B || IOSError || GetUidGid || IOSProcessId id, u32 *uid, u32 *gid
Line 637: Line 637:  
| 0x8D || 0x81 || IOSError || ||  
 
| 0x8D || 0x81 || IOSError || ||  
 
|-
 
|-
| 0x8E || 0x82 || IOSError || GetViolatingResourceManagers || u32 max_count, [[#IOSResourceManagerInfo|IOSResourceManagerInfo]] *out
+
| 0x8E || 0x82 || IOSError || GetViolatingResourceManagers || u32 max_count, [[#IOSResourceManager|IOSResourceManager]] *out
 
|-
 
|-
 
| 0x8F || 0x83 || u32 || GetClientHandles || char *dev_node
 
| 0x8F || 0x83 || u32 || GetClientHandles || char *dev_node
Line 1,125: Line 1,125:  
This is an u32.
 
This is an u32.
   −
== IOSResourceManagerInfo ==
+
== IOSResource ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,132: Line 1,132:  
| 0x0 || 0x20 || Path
 
| 0x0 || 0x20 || Path
 
|-
 
|-
| 0x20 || 0x4 || FeatureId
+
| 0x20 || 0x4 || [[#IOSMessageQueueId|MqId]]
 +
|-
 +
| 0x24 || 0x4 || [[#IOSRegisteredResourcesManager|RegisteredResourcesManager]]
 +
|-
 +
| 0x28 || 0x4 || FeatureId
 +
|-
 +
| 0x2C || 0x2 || PathLen
 +
|-
 +
| 0x2E || 0x2 ||
 +
|-
 +
| 0x30 || 0x2 ||
 +
|-
 +
| 0x32 || 0x2 || ActiveTxnCount
 +
|-
 +
| 0x34 || 0x2 || OpenHandles
 +
|-
 +
| 0x36 || 0x2 ||
 +
|-
 +
| 0x38 || 0x2 ||
 +
|-
 +
| 0x3A || 0x2 || BusyCloseViolations
 +
|-
 +
| 0x3C || 0x2 ||
 +
|-
 +
| 0x3E || 0x2 ||
 +
|}
 +
 
 +
== IOSResourceDescriptor ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || ServerHandle
 +
|-
 +
| 0x4 || 0x4 || ClientFd
 +
|-
 +
| 0x8 || 0x4 || [[#IOSResource|Resource]]
 +
|-
 +
| 0xC || 0x1 || State
 +
|-
 +
| 0xD || 0x3 || Reserved
 +
|}
 +
 
 +
== IOSResourceCapability ==
 +
{| class="wikitable" border="1"
 
|-
 
|-
| 0x24 || 0x4 || Owner
+
! Offset || Size || Description
 
|-
 
|-
| 0x28 || 0x4 || BusyCloseViolations
+
| 0x0 || 0x4 || FeatureId
 
|-
 
|-
| 0x2C || 0x4 || ActiveTxnCount
+
| 0x4 || 0x4 || Mask0
 
|-
 
|-
| 0x30 || 0x4 || OpenHandles
+
| 0x8 || 0x4 || Mask1
 
|}
 
|}
   −
== IOSResourceManager ==
+
== IOSResourceRequest ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x2 || ActiveResources
+
| 0x0 || 0x4 || Cmd
 +
|-
 +
| 0x4 || 0x4 || ClientHandle
 +
|-
 +
| 0x8 || 0x4 || ServerHandle
 +
|-
 +
| 0xC || 0x4 || Flags
 
|-
 
|-
| 0x2 || 0x2 || ActiveResourcesWaterline
+
| 0x10 || 0x4 || ClientNodeId
 
|-
 
|-
| 0x4 || 0x2 ||
+
| 0x14 || 0x4 || ClientPid
 
|-
 
|-
| 0x6 || 0x2 ||  
+
| 0x18 || 0x4 || ClientUniqueIdHigh
 
|-
 
|-
| 0x8 || 0x2 ||  
+
| 0x1C || 0x4 || ClientUniqueIdLow
 
|-
 
|-
| 0xA || 0x2 || MaxResources
+
| 0x20 || 0x4 || ClientGroupId
 
|-
 
|-
| 0xC || 0x40 * 96 || [[#IOSResource|Resources]]
+
| 0x24 || 0x14 || Args
 
|}
 
|}
   −
== IOSResourceTransactionManager ==
+
== IOSResourceTransaction ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x2 || TotalActiveTxns
+
| 0x0 || 0x38 || [[#IOSResourceRequest|Req]]
 +
|-
 +
| 0x38 || 0x4 || [[#IOSMessageQueue|Mq]]
 +
|-
 +
| 0x3C || 0x4 || [[#IOSMessageQueueId|MqId]]
 +
|-
 +
| 0x40 || 0x4 || [[#IOSResourceRequest|Reply]]
 
|-
 
|-
| 0x2 || 0x2 || TotalActiveTxnsWaterline
+
| 0x44 || 0x4 || [[#IOSRegisteredResourcesManager|RegisteredResourcesManager]]
 
|-
 
|-
| 0x4 || 0x2 || TotalTxnAllocFailures
+
| 0x48 || 0x4 || [[#IOSResource|Resource]]
 
|-
 
|-
| 0x6 || 0x2 ||  
+
| 0x4C || 0x4 || ClientFd
 
|-
 
|-
| 0x8 || 0x2 ||  
+
| 0x50 || 0x4 ||  
 
|-
 
|-
| 0xA || 0x2 || MaxTotalActiveTxns
+
| 0x54 || 0x4 || Path
 
|-
 
|-
| 0xC || 0xB4 * 256 || [[#IOSResourceTransaction|Txns]]
+
| 0x58 || 0x5C ||  
 
|}
 
|}
   −
== IOSPerProcessResourceManager ==
+
== IOSRegisteredResourcesManager ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x4 ||  
+
| 0x0 || 0x4 || UniqueIdHigh
 
|-
 
|-
| 0x4 || 0x4 ||  
+
| 0x4 || 0x4 || UniqueIdLow
 
|-
 
|-
| 0x8 || 0x4 ||
+
| 0x8 || 0x4 || GroupId
 
|-
 
|-
 
| 0xC || 0x4 || Owner
 
| 0xC || 0x4 || Owner
Line 1,202: Line 1,258:  
| 0x18 || 0x4 || MaxOpenHandles
 
| 0x18 || 0x4 || MaxOpenHandles
 
|-
 
|-
| 0x1C || 0x10 * 96 || [[#IOSResourceHandle|Handles]]
+
| 0x1C || 0x10 * 96 || [[#IOSResourceDescriptor|Descriptors]]
 
|-
 
|-
 
| 0x61C || 0x4 || ActiveTxns
 
| 0x61C || 0x4 || ActiveTxns
Line 1,212: Line 1,268:  
| 0x628 || 0x4 || MaxActiveTxns
 
| 0x628 || 0x4 || MaxActiveTxns
 
|-
 
|-
| 0x62C || 0xC * 20 || [[#IOSResourceClientCapability|Capabilities]]
+
| 0x62C || 0xC * 20 || [[#IOSResourceCapability|Capabilities]]
 
|-
 
|-
 
| 0x71C || 0x4 || RegisteredResources
 
| 0x71C || 0x4 || RegisteredResources
Line 1,221: Line 1,277:  
|}
 
|}
   −
== IOSResourceHandle ==
+
== IOSActiveResourcesManager ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x4 || ServerHandle
+
| 0x0 || 0x2 || ActiveResources
 
|-
 
|-
| 0x4 || 0x4 || ClientFd
+
| 0x2 || 0x2 || ActiveResourcesWaterline
 
|-
 
|-
| 0x8 || 0x4 || State
+
| 0x4 || 0x2 ||
 
|-
 
|-
| 0xC || 0x1 ||  
+
| 0x6 || 0x2 ||  
 
|-
 
|-
| 0xD || 0x3 ||  
+
| 0x8 || 0x2 || CurrentResource
|}
  −
 
  −
== IOSResourceClientCapability ==
  −
{| class="wikitable" border="1"
   
|-
 
|-
! Offset || Size || Description
+
| 0xA || 0x2 || MaxResources
 
|-
 
|-
| 0x0 || 0x4 || FeatureId
+
| 0xC || 0x40 * 96 || [[#IOSResource|Resources]]
|-
  −
| 0x4 || 0x4 ||
  −
|-
  −
| 0x8 || 0x4 ||  
   
|}
 
|}
   −
== IOSResource ==
+
== IOSResourceTransactionsManager ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x20 || Path
+
| 0x0 || 0x2 || TotalActiveTxns
 
|-
 
|-
| 0x20 || 0x4 || [[#IOSMessageQueueId|MqId]]
+
| 0x2 || 0x2 || TotalActiveTxnsWaterline
 
|-
 
|-
| 0x24 || 0x4 || [[#IOSPerProcessResourceManager|PerProcessResourceManager]]
+
| 0x4 || 0x2 || TotalTxnAllocFailures
 
|-
 
|-
| 0x28 || 0x4 || Owner
+
| 0x6 || 0x2 || CurrentTxn
 
|-
 
|-
| 0x2C || 0x2 || PathLen
+
| 0x8 || 0x2 ||  
 
|-
 
|-
| 0x2E || 0x2 ||  
+
| 0xA || 0x2 || MaxTotalActiveTxns
 
|-
 
|-
| 0x30 || 0x2 ||  
+
| 0xC || 0xB4 * 256 || [[#IOSResourceTransaction|Txns]]
|-
  −
| 0x32 || 0x2 ||
  −
|-
  −
| 0x34 || 0x2 ||
  −
|-
  −
| 0x36 || 0x2 ||
  −
|-
  −
| 0x38 || 0x2 ||
  −
|-
  −
| 0x3A || 0x2 ||
  −
|-
  −
| 0x3C || 0x2 ||
  −
|-
  −
| 0x3E || 0x2 ||  
   
|}
 
|}
   −
== IOSResourceRequest ==
+
== IOSResourceManager ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x4 || Cmd
+
| 0x0 || 0x20 || Path
 
|-
 
|-
| 0x4 || 0x4 || Handle
+
| 0x20 || 0x4 || FeatureId
 
|-
 
|-
| 0x8 || 0x14 || Args
+
| 0x24 || 0x4 || Owner
 
|-
 
|-
| 0x1C || 0x1C ||  
+
| 0x28 || 0x4 || BusyCloseViolations
|}
  −
 
  −
== IOSResourceTransaction ==
  −
{| class="wikitable" border="1"
   
|-
 
|-
! Offset || Size || Description
+
| 0x2C || 0x4 || ActiveTxnCount
 
|-
 
|-
| 0x0 || 0xB4 ||  
+
| 0x30 || 0x4 || OpenHandles
 
|}
 
|}
   Line 1,364: Line 1,394:  
| 0x8 || 0x4 || ServerHandle
 
| 0x8 || 0x4 || ServerHandle
 
|-
 
|-
| 0xC || 0x20 || State
+
| 0xC || 0x20 || Path
 
|}
 
|}
   Line 1,380: Line 1,410:  
| 0xC || 0x4 || ClientFd
 
| 0xC || 0x4 || ClientFd
 
|-
 
|-
| 0x10 || 0x4 || Cmd
+
| 0x10 || 0x38 || [[#IOSResourceRequest|Req]]
|-
  −
| 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
 
| 0x48 || 0x20 || Path