Line 1: |
Line 1: |
− | [[Category:Kernel objects]] | + | [[Category:Kernel synchronization objects]] |
− | class [[KSemaphore]] extends [[KSynchronizationObject]]; | + | [[Category:Kernel interrupt events]] |
| + | class [[KSemaphore]] extends [[KSynchronizationObject]] and [[KUserBindableInterruptEvent]]; |
| | | |
| Size : 0x2C bytes | | Size : 0x2C bytes |
Line 20: |
Line 21: |
| | 0x8 | | | 0x8 |
| | u32 | | | u32 |
− | | Unknown | + | | Count of KThreads that sync with this object - number of nodes in the linked list below |
| |- | | |- |
| | 0xC | | | 0xC |
− | | u32 | + | | KLinkedListNode* |
− | | Pointer to semaphore data node | + | | Pointer to first KLinkedListNode in list of KThreads that sync with this semaphore |
| |- | | |- |
| | 0x10 | | | 0x10 |
− | | u32 | + | | KLinkedListNode* |
− | | Pointer identical to the one above | + | | Pointer to last KLinkedListNode in list of KThreads that sync with this semaphore |
| |- | | |- |
| | 0x14 | | | 0x14 |
− | | u32 | + | | [[KUserBindableInterruptEvent]] |
− | | Pointer to smaller vtable | + | | Interrupt event (*this) |
− | |-
| |
− | | 0x18
| |
− | | u32
| |
− | | Unknown
| |
− | |-
| |
− | | 0x1C
| |
− | | u32
| |
− | | Unknown
| |
| |- | | |- |
| | 0x20 | | | 0x20 |
| | u32 | | | u32 |
− | | Unknown | + | | Count |
| |- | | |- |
| | 0x24 | | | 0x24 |
| | u32 | | | u32 |
− | | Count | + | | Max count |
| |- | | |- |
| | 0x28 | | | 0x28 |