Difference between revisions of "KMutex"

From 3dbrew
Jump to navigation Jump to search
Line 20: Line 20:
 
| 0x8
 
| 0x8
 
| u32
 
| u32
| KLinkedListNode count for object
+
| Count of KThreads that sync with this object - number of nodes in the linked list below
 
|-
 
|-
 
| 0xC
 
| 0xC
| u32
+
| KLinkedListNode*
| Pointer to itself + 0x14
+
| Pointer to first KLinkedListNode in node list of KThreads that sync with this object
 
|-
 
|-
 
| 0x10
 
| 0x10
| u32
+
| KLinkedListNode*
| Pointer to itself + 0x14
+
| Pointer to last KLinkedListNode in node list of KThreads that sync with this object
 
|-
 
|-
 
| 0x14
 
| 0x14

Revision as of 16:17, 27 February 2015

class KMutex extends KSynchronizationObject;

Size : 0x2C bytes

Offset Type Description
0x0 u32 Pointer to vtable
0x4 u32 Reference count
0x8 u32 Count of KThreads that sync with this object - number of nodes in the linked list below
0xC KLinkedListNode* Pointer to first KLinkedListNode in node list of KThreads that sync with this object
0x10 KLinkedListNode* Pointer to last KLinkedListNode in node list of KThreads that sync with this object
0x14 ? ?
0x18 ? ?
0x1C u32 Unknown maybe number of KThread that wait for this or use this?
0x20 KThread * Unknown 1 locked? 0 unlocked? (but it is compared against a KThread* ?)
0x24 u32 Unknown 0x3F ?maybe priority?
0x28 KProcess* Owner