Difference between revisions of "KSemaphore"

From 3dbrew
Jump to navigation Jump to search
(Update semaphore internal linked list)
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
 
| KLinkedListNode*  
 
| KLinkedListNode*  
| Pointer to first KLinkedListNode in list of KThreads that use this semaphore
+
| Pointer to first KLinkedListNode in list of KThreads that sync with this semaphore
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| KLinkedListNode*
 
| KLinkedListNode*
| Pointer to last KLinkedListNode in list of KThreads that use this semaphore
+
| Pointer to last KLinkedListNode in list of KThreads that sync with this semaphore
 
|-
 
|-
 
| 0x14
 
| 0x14
Line 40: Line 40:
 
| 0x1C
 
| 0x1C
 
| u32
 
| u32
| Unknown
+
| Priority
 
|-
 
|-
 
| 0x20
 
| 0x20

Revision as of 16:36, 27 February 2015

class KSemaphore 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 list of KThreads that sync with this semaphore
0x10 KLinkedListNode* Pointer to last KLinkedListNode in list of KThreads that sync with this semaphore
0x14 u32 Pointer to smaller vtable
0x18 u32 Unknown
0x1C u32 Priority
0x20 u32 Unknown
0x24 u32 Count
0x28 KProcess* Owner