KMutex: Difference between revisions
Jump to navigation
Jump to search
Created page with "Category:Kernel objects class KMutex extends KSynchronizationObject;" |
No edit summary |
||
(16 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel synchronization objects]] | ||
class [[KMutex]] extends [[KSynchronizationObject]]; | class [[KMutex]] extends [[KSynchronizationObject]]; | ||
Size : 0x2C bytes | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Type | |||
! Description | |||
|- | |||
| 0x0 | |||
| u32 | |||
| Pointer to vtable | |||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |||
| 0x8 | |||
| u32 | |||
| Node count for threads | |||
|- | |||
| 0xC | |||
| [[KLinkedListNode]]* | |||
| Pointer to first KLinkedListNode in the list of threads that sync with this object | |||
|- | |||
| 0x10 | |||
| [[KLinkedListNode]]* | |||
| Pointer to last KLinkedListNode in the list of threads that sync with this object | |||
|- | |||
| 0x14 | |||
| KMutexLinkedListNode | |||
| Previous and next mutexes | |||
|- | |||
| 0x1C | |||
| u32 | |||
| Threads using this mutex | |||
|- | |||
| 0x20 | |||
| [[KThread]] * | |||
| Thread that has the KMutex locked | |||
|- | |||
| 0x24 | |||
| u32 | |||
| Priority | |||
|- | |||
| 0x28 | |||
| [[KProcess]]* | |||
| Owner | |||
|- | |||
|} | |||
With the following declarations: <code>struct KMutexLinkedList { KMutex *first, *last; };</code> and <code>struct KMutexLinkedListNode { KMutex *prev, *next; };</code>. |
Latest revision as of 00:50, 10 December 2016
class KMutex extends KSynchronizationObject;
Size : 0x2C bytes
Offset | Type | Description |
---|---|---|
0x0 | u32 | Pointer to vtable |
0x4 | u32 | Reference count |
0x8 | u32 | Node count for threads |
0xC | KLinkedListNode* | Pointer to first KLinkedListNode in the list of threads that sync with this object |
0x10 | KLinkedListNode* | Pointer to last KLinkedListNode in the list of threads that sync with this object |
0x14 | KMutexLinkedListNode | Previous and next mutexes |
0x1C | u32 | Threads using this mutex |
0x20 | KThread * | Thread that has the KMutex locked |
0x24 | u32 | Priority |
0x28 | KProcess* | Owner |
With the following declarations: struct KMutexLinkedList { KMutex *first, *last; };
and struct KMutexLinkedListNode { KMutex *prev, *next; };
.